@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800&display=swap');
:root{--ink:#25323a;--muted:#67747c;--blue:#286885;--blue-hover:#1d526b;--line:#d9e0e4;--soft:#f5f8fa;--danger:#a83636;font-family:'Nunito Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#fff;font-synthesis:none}
*{box-sizing:border-box}html{height:100%;min-width:393px}body{margin:0;min-width:393px;height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #74acd0;outline-offset:3px}button{color:inherit}button:not(.primary){font-weight:600}button svg{flex-shrink:0}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:44px;line-height:1.1;letter-spacing:-1.3px;font-weight:800;margin-bottom:24px}h2{font-size:25px;line-height:1.2;letter-spacing:-.5px;font-weight:800}h3{font-size:21px;line-height:1.25;letter-spacing:-.35px;font-weight:800}.muted,.fine{color:var(--muted)}.fine{font-size:13px;line-height:1.6}.error{color:var(--danger);font-size:14px;line-height:1.5}.primary{background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:8px;min-height:46px;padding:11px 20px;font-weight:700;transition:background .15s}.primary:hover{background:var(--blue-hover)}.secondary{background:#fff;border:1px solid var(--line);border-radius:8px;min-height:44px;padding:10px 16px}.text-link{background:transparent;border:0;padding:8px 0;min-height:44px;color:var(--blue);font-size:15px;font-weight:700;display:inline-flex;gap:10px;align-items:center;text-decoration:none}.text-link:hover{text-decoration:underline}.icon-button{display:grid;place-items:center;border:0;background:transparent;width:44px;height:44px;flex-shrink:0;font-size:30px;border-radius:8px}.icon-button:hover{background:var(--soft)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(26px,calc((100vw - 1160px)/2));background:#fff;z-index:2;border-bottom:1px solid #edf0f2;padding-top:calc(18px + env(safe-area-inset-top))}.header-left{display:flex;align-items:center;gap:8px}.menu-button{width:34px}.hamburger,.hamburger:before,.hamburger:after{display:block;width:17px;height:1.5px;background:var(--ink);border-radius:2px}.hamburger{position:relative}.hamburger:before,.hamburger:after{content:'';position:absolute;left:0}.hamburger:before{top:-5px}.hamburger:after{top:5px}.brand{display:flex;align-items:center;gap:8px;text-decoration:none}.brand img{object-fit:contain}.brand-type{display:block}.brand-lettering{display:block;width:177px;height:38px;background:url('/assets/brand.webp') -96px -44px / 292px auto no-repeat}.brand-bakery{display:block;text-align:center;font-size:10px;letter-spacing:4px;line-height:1;font-weight:800;margin-top:3px;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:28px;font-size:15px;font-weight:700}.site-header nav a{text-decoration:none;position:relative;padding:12px 0;min-height:44px}.site-header nav a[aria-current=page]:after{content:'';height:2px;background:var(--blue);position:absolute;bottom:2px;left:0;right:0}.site-header nav button{display:flex;align-items:center;gap:8px;background:transparent;border:0;padding:0;min-height:44px}.site-header nav #bag-count{display:inline-grid;place-items:center;border-radius:50%;background:#ecf3f6;color:var(--blue);min-width:22px;height:22px;font-size:12px}
main{min-height:0;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth;scroll-padding:20px}main:focus{outline:none}.page{max-width:1160px;margin:0 auto;padding:38px 26px 48px}.shop-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:25px}.shop-heading h1{margin:0}.filters{display:flex;gap:20px;flex-wrap:wrap}.filters button{border:0;border-bottom:2px solid transparent;background:transparent;padding:10px 2px;min-height:44px;font-size:14px;color:var(--muted)}.filters button.active{color:var(--blue);border-bottom-color:var(--blue)}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.product-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff;min-width:0}.photo{background-image:url('/assets/bakes.jpg');background-repeat:no-repeat;background-size:200% auto;background-color:#343734;position:relative;overflow:hidden}.banana{background-position:0 0}.pumpkin{background-position:100% 0}.cinnamon{background-position:0 100%}.chocolate{background-position:100% 100%}.muffins{background-position:0 0}.card-photo{aspect-ratio:16/9;display:flex;align-items:flex-end}.card-photo:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#111b21bf);pointer-events:none}.card-photo h2{position:relative;z-index:1;color:#fff;font-size:23px;line-height:1.2;margin:0;padding:16px 19px;text-shadow:0 1px 4px #0005;font-weight:800}.card-copy{padding:15px 19px 9px;display:flex;flex-direction:column;flex:1}.card-copy p{font-size:15px;line-height:1.55;margin-bottom:16px;min-height:47px}.card-actions{display:flex;gap:13px;align-items:center;margin-top:auto}.card-actions .primary{flex:1;padding-inline:14px}.stepper{display:inline-flex;align-items:center;flex-shrink:0;border:1px solid #cfd9df;border-radius:8px;overflow:hidden;height:46px;background:#fff}.stepper button{border:0;background:transparent;font-size:22px;min-width:43px;min-height:44px;line-height:1}.stepper button:hover{background:var(--soft)}.stepper input{width:43px;border:0;border-inline:1px solid #e6ebee;height:44px;text-align:center;font-size:16px;font-weight:700;color:var(--ink);background:#fff;appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.customize-link{margin-top:2px}.reviews-section{margin-top:42px;padding-top:27px;border-top:1px solid var(--line)}.reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.reviews-heading h2{margin-bottom:0}#reviews{margin-top:20px}#reviews p{font-size:15px}blockquote{margin:20px 0;padding:0 0 16px;border-bottom:1px solid #edf0f2}blockquote p{font-size:19px;line-height:1.55;margin-bottom:7px}blockquote cite{font-size:13px;font-style:normal;color:var(--muted)}footer{padding:11px max(26px,calc((100vw - 1160px)/2)) calc(11px + env(safe-area-inset-bottom));font-size:11px;color:var(--muted);background:#fff;border-top:1px solid var(--line)}.toast{position:fixed;left:50%;bottom:60px;transform:translate(-50%,12px);background:#253c47;color:#fff;padding:12px 20px;border-radius:9px;z-index:8;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100vw - 36px);font-size:14px;box-shadow:0 5px 22px #1426311c}.toast.visible{opacity:1;transform:translate(-50%,0)}
.merch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.merch-grid article{border:1px solid var(--line);border-radius:12px;overflow:hidden;padding-bottom:20px}.merch-grid h2{font-size:21px;margin:18px 20px 6px}.merch-grid .muted{font-size:14px;margin:0 20px}.merch-art{height:230px;display:grid;place-items:center;background:#edf4f7;color:#3b7388;font-size:90px}.merch-art.flowers{background:#f1f3f8;color:#78849d}.merch-art.shirts{background:#eff3f4;color:#52737f}
dialog{position:fixed;inset:0 0 0 auto;width:430px;max-width:100%;height:100%;height:100dvh;max-height:100dvh;padding:0;margin:0;border:0;border-left:1px solid var(--line);background:white;color:var(--ink);box-shadow:-10px 0 35px #1f3d491a;overflow:hidden}dialog[open]{display:flex;flex-direction:column;animation:drawer-in .22s ease-out}dialog::backdrop{background:#182c3e38;backdrop-filter:blur(1px)}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px 12px;flex-shrink:0}.drawer-header h2{font-size:28px;margin:0}.drawer-body{padding:10px 24px 25px;overflow:auto;min-height:0;flex:1;overscroll-behavior:contain;scroll-padding-bottom:20px}.drawer-body h3{font-size:22px;margin-bottom:15px}.drawer-photo{aspect-ratio:16/8;min-height:120px;max-height:180px;border-radius:8px;margin-bottom:23px;background-size:200% auto}.drawer-footer{padding:14px 24px calc(18px + env(safe-area-inset-bottom));border-top:1px solid #edf0f2;background:#fff;flex-shrink:0}.drawer-footer .primary{width:100%}.drawer-footer .fine{margin-bottom:12px}.option-group{border:0;padding:0;margin:0 0 22px;min-width:0}.option-group legend{font-size:16px;font-weight:800;margin-bottom:10px;padding:0}.choices{display:flex;gap:8px;flex-wrap:wrap}.choice{position:relative;flex:1;min-width:90px;margin:0!important;display:flex!important;align-items:center;justify-content:center}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:11px 9px;min-height:46px;border:1px solid var(--line);border-radius:7px;font-size:13px;line-height:1.4;cursor:pointer;text-align:center}.choice input:checked+span{border-color:var(--blue);box-shadow:inset 0 0 0 .5px var(--blue);color:var(--blue);font-weight:700;background:#f9fcfd}.choice input:checked+span:before{content:'✓';font-size:16px}.choice input:focus-visible+span{outline:3px solid #74acd0;outline-offset:3px}.quantity-row{display:flex;align-items:center;justify-content:space-between;margin:5px 0 14px;gap:20px}.quantity-row>label{font-weight:800;margin:0}.batch-yield{font-size:13px;color:var(--muted);margin:8px 0 0}.bag-row{padding:20px 0;border-bottom:1px solid var(--line)}.bag-row:first-child{padding-top:0}.bag-top{display:flex;gap:14px}.bag-photo{width:82px;height:66px;border-radius:6px;flex-shrink:0;background-size:200% auto}.bag-details h3{font-size:17px;margin-bottom:5px}.bag-details p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}.bag-row .quantity-row{margin-top:15px;margin-bottom:0}.bag-row .stepper{height:42px}.bag-row .stepper button,.bag-row .stepper input{height:40px;min-height:40px}.remove-item{border:0;background:none;font-size:13px;text-decoration:underline;color:var(--muted);min-height:44px}.empty-state{padding:40px 0;text-align:center}.empty-state h3{margin-top:12px}.empty-state p{font-size:15px;color:var(--muted)}form label:not(.choice){display:block;font-size:14px;font-weight:700;margin:17px 0}form input:not([type=radio]):not([type=checkbox]):not(.quantity-input),form textarea,form select{width:100%;min-height:46px;padding:11px 12px;margin-top:6px;border:1px solid #cfd9df;border-radius:7px;background:#fff;color:var(--ink);font-size:16px}form textarea{resize:vertical}form .consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important;font-size:13px!important;line-height:1.5;min-height:44px}form .consent input{margin:2px 0 0;flex-shrink:0;width:18px;height:18px;accent-color:var(--blue)}.hp{display:none!important}.form-error{color:var(--danger);font-size:14px;line-height:1.5}.confirmation{padding:20px 0}.confirmation .check{display:grid;place-items:center;border-radius:50%;background:#edf5f1;color:#397359;width:56px;height:56px;font-size:28px;margin-bottom:24px}.confirmation p{font-size:15px;line-height:1.6}.menu-links{display:flex;flex-direction:column}.menu-links button{border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:17px 0;min-height:50px;font-size:16px}.info-content p,.info-content li{font-size:15px;line-height:1.7}.info-content ul{padding-left:20px}.version{font-size:12px;color:var(--muted);margin-top:30px}.drawer-body .order-summary{padding:15px;background:var(--soft);border-radius:8px;font-size:14px;line-height:1.6;margin:15px 0}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(min-width:1500px){.page{max-width:1300px}}
@media(max-width:680px){.site-header{padding:12px 13px;padding-top:calc(12px + env(safe-area-inset-top));gap:10px}.header-left{gap:1px}.menu-button{width:28px}.brand{gap:3px}.brand img{width:30px;height:35px}.brand-lettering{width:112px;height:25px;background-size:185px auto;background-position:-60px -28px}.brand-bakery{font-size:8px;letter-spacing:3px;margin-top:1px}.site-header nav{gap:15px;font-size:13px}.site-header nav button{gap:5px}.site-header nav button svg{width:19px;height:19px}.site-header nav #bag-count{min-width:18px;height:18px;font-size:10px}.page{padding:28px 18px 35px}.shop-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:20px}h1{font-size:36px}.filters{gap:22px}.product-grid{grid-template-columns:minmax(0,1fr);gap:22px}.card-photo h2{font-size:24px;padding:15px 17px}.card-copy{padding:14px 17px 7px}.card-copy p{min-height:0;font-size:15px;margin-bottom:15px}.reviews-section{margin-top:32px}.reviews-heading{align-items:flex-start;flex-direction:column;gap:4px}.reviews-heading h2{font-size:25px}.merch-grid{grid-template-columns:1fr}.merch-art{height:210px}footer{padding-inline:18px}dialog{inset:auto 0 0;width:100%;height:96dvh;max-height:calc(100dvh - env(safe-area-inset-top));border-left:0;border-top:1px solid var(--line);border-radius:18px 18px 0 0}dialog[open]{animation:sheet-in .22s ease-out}.drawer-header{padding:18px 20px 10px;position:relative}.drawer-header:before{content:'';width:32px;height:4px;border-radius:4px;background:#d5dde2;position:absolute;top:7px;left:calc(50% - 16px)}.drawer-header h2{font-size:26px}.drawer-body{padding:10px 20px 22px}.drawer-footer{padding:12px 20px calc(15px + env(safe-area-inset-bottom))}.drawer-photo{max-height:150px;margin-bottom:20px}.option-group{margin-bottom:18px}.choice span{min-height:46px}.toast{bottom:55px}.bag-photo{width:74px;height:60px}}
@keyframes sheet-in{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.photo.muffins{background-image:url('/assets/muffins.jpg');background-size:cover;background-position:center}
body{height:var(--visible-height,100dvh)}dialog{height:var(--visible-height,100dvh);max-height:var(--visible-height,100dvh)}
@media(max-width:680px){dialog{height:calc(var(--visible-height,100dvh) - 16px);max-height:calc(var(--visible-height,100dvh) - 16px)}}
.drawer-photo{width:100%;height:150px;aspect-ratio:auto}

footer{display:flex;align-items:center;gap:3px}.footer-link{margin-left:auto;border:0;background:none;color:var(--muted);padding:0 5px;font-size:11px;min-height:24px;text-decoration:underline;text-underline-offset:3px}

.contact-layout{max-width:620px}.contact-layout form{margin-top:12px}.contact-layout .primary{min-width:155px}#contact-status{font-size:14px;color:var(--blue);margin-top:18px;line-height:1.6}
@media(max-width:680px){.site-header{flex-wrap:wrap;gap:5px;padding-block:9px}.site-header .header-left{width:100%;justify-content:center}.site-header nav{width:100%;justify-content:space-between;gap:15px;padding:0 6px}.site-header nav a{padding-block:9px}.site-header nav button{min-height:40px}}

.quantity-center{display:flex;flex-direction:column;align-items:center;justify-content:center;border-inline:1px solid #e6ebee;padding:2px 8px;min-width:92px}.quantity-line{display:flex;align-items:center;justify-content:center;gap:3px;white-space:nowrap}.stepper .quantity-center input{border:0;width:32px;height:25px;font-size:15px}.quantity-unit{font-size:13px;font-weight:700;white-space:nowrap}.quantity-caption{font-size:11px;color:var(--muted);line-height:1.25;white-space:nowrap}.card-actions{flex-wrap:wrap;gap:10px}.card-actions .stepper{flex:1 1 auto;justify-content:space-between}.card-actions .primary{min-width:115px;flex:1 1 115px}.quantity-row .stepper{flex-shrink:1}.quantity-row{gap:10px}.bag-row .quantity-row .stepper{height:46px}.bag-row .stepper .quantity-input{height:25px}
@media(max-width:680px){.card-actions .stepper{flex-basis:100%}.card-actions .primary{flex-basis:100%}.quantity-center{padding-inline:10px}.quantity-caption{font-size:12px}}

.photo.muffins-silly{background-image:url('/assets/muffins-silly.jpg');background-size:cover;background-position:center}.muffin-toggle{position:relative;display:flex!important;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:700;margin:0 0 13px!important;cursor:pointer}.muffin-toggle input{position:absolute;opacity:0;width:1px;height:1px}.toggle-track{position:relative;display:block;width:36px;height:22px;border-radius:12px;background:#d9e0e4;flex-shrink:0;transition:background .18s}.toggle-track:before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #23384225;transition:transform .18s}.muffin-toggle input:checked+.toggle-track{background:var(--blue)}.muffin-toggle input:checked+.toggle-track:before{transform:translateX(14px)}.muffin-toggle input:focus-visible+.toggle-track{outline:3px solid #74acd0;outline-offset:3px}
.product-price{display:block;font-weight:750;margin:0 0 14px;color:var(--ink)}.bag-subtotal{display:flex;justify-content:space-between;margin:0 0 8px;font-size:18px}
