
/* Primary Themes: a warm, bold seventies pie shop. */
:root{--cream:#fbf1da;--paper:#fffaf0;--cherry:#ae4427;--cherry-dark:#88311e;--chocolate:#482619;--crust:#e7aa36;--pink:#ecd4b3;--line:#d2bc92;--muted:#735442;--green:#50592d;--serif:'Shrikhand',Georgia,serif}
body{background:var(--cream)}
h1,h2,h3{font-weight:400;letter-spacing:-.025em;line-height:1.12}
h2{font-size:clamp(2.35rem,3.65vw,3.8rem)}
.wrap{width:min(1280px,calc(100% - 100px))}
.announcement{background:var(--green);font-size:.875rem;letter-spacing:.02em;padding:7px 20px}
.header{height:118px;border-bottom:1px solid var(--line);position:relative}
.brand-logo{display:block;width:100px;flex-shrink:0;order:0}
.brand-logo img{mix-blend-mode:multiply}
.nav{gap:32px;font-size:.95rem}
.cart-link{border:1.5px solid var(--chocolate);background:var(--crust);font-weight:700;border-radius:6px;box-shadow:3px 3px 0 var(--chocolate);font-size:.9rem;min-height:44px}
.cart-count{background:var(--chocolate);color:var(--cream)}
.hero{grid-template-columns:1fr 1.1fr;gap:40px;padding:48px 0 82px;align-items:center}
.hero-copy{padding:0}
.eyebrow{letter-spacing:.1em;font-size:.875rem}
.hero .eyebrow{color:var(--green)}
.hero h1{font-size:clamp(4.5rem,7.6vw,7.6rem);line-height:1.04;letter-spacing:-.035em;color:var(--cherry);margin:22px 0 26px}
.hero h1 em{font-style:normal;font-weight:400;color:var(--green);white-space:nowrap}
.hero-copy .hero-intro{font-size:1.05rem;max-width:395px;line-height:1.75}
.hero-actions{gap:25px;margin-top:27px}
.button{border:1.5px solid var(--chocolate);border-radius:6px;box-shadow:3px 3px 0 var(--chocolate);background:var(--cherry);padding:13px 26px;min-height:52px;font-weight:700;color:var(--paper);transition:transform .18s,box-shadow .18s,background .18s}
.button:hover{transform:translate(-1px,-2px);box-shadow:4px 5px 0 var(--chocolate)}
.button.secondary{background:var(--cream);color:var(--chocolate)}
.text-link{font-size:.9rem;text-decoration-thickness:1px;text-underline-offset:5px}
.hero-note{font-size:.875rem!important;color:var(--green);margin-top:28px;max-width:none!important}
.hero-visual{margin:0;min-width:0;padding:8px 15px 55px 10px}
.hero-main-photo{margin:0;transform:rotate(3deg);border:2px solid var(--chocolate);padding:11px 11px 0;background:var(--paper);box-shadow:8px 8px 0 var(--cherry);border-radius:5px}
.hero-image{aspect-ratio:1.12;object-fit:cover;border-radius:0}
.hero-main-photo figcaption,.hero-mini-photo figcaption{font-size:.8rem;line-height:1.4;font-weight:600;padding:12px 2px;text-align:center}
.hero-badge{background:var(--crust);width:143px;height:143px;border:2px solid var(--chocolate);outline:5px solid var(--crust);border-radius:50%;top:-12px;right:-12px;bottom:auto;transform:rotate(11deg);gap:4px;z-index:2;font-family:var(--sans)}
.hero-badge span{font-size:.65rem;font-weight:800;line-height:1.4;letter-spacing:.04em}
.hero-badge strong{font:400 2.7rem/1 var(--serif)}
.hero-mini-photo{position:absolute;width:38%;margin:0;bottom:-15px;right:0;border:2px solid var(--chocolate);background:var(--crust);padding:7px 7px 0;transform:rotate(-9deg);box-shadow:5px 5px 0 var(--green)}
.hero-mini-photo img{aspect-ratio:1.15;object-fit:cover}
.hero-mini-photo figcaption{font-size:.72rem;padding:7px 0}
.ribbon{display:flex;justify-content:center;align-items:center;gap:36px;white-space:nowrap;background:var(--cherry);border-top:7px solid var(--crust);border-bottom:7px solid var(--green);padding:15px 18px;word-spacing:normal;font-size:1.2rem}
.ribbon span{margin:0;color:var(--cream)}
.ribbon b{color:var(--crust);font-size:1.5rem;font-weight:400}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero{gap:25px}.hero h1{font-size:clamp(4.5rem,8vw,6rem)}.hero-badge{width:116px;height:116px;right:-5px}.hero-badge strong{font-size:2rem}.hero-badge span{font-size:.6rem}.hero-actions{gap:16px}.hero .button{padding:13px 21px}.ribbon{gap:22px;font-size:1rem}.nav{gap:25px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.announcement{font-size:.75rem;line-height:1.5;padding:7px 14px}.header{height:94px;gap:14px}.brand-logo{width:78px}.menu-toggle{display:inline-flex;margin-left:auto;font-size:.875rem;min-height:44px;align-items:center;padding:8px 11px;border-radius:5px;border-color:var(--chocolate)}.nav{display:none;position:absolute;top:93px;left:-18px;right:-18px;background:var(--cream);border-bottom:2px solid var(--chocolate);padding:24px;z-index:25;flex-direction:column;align-items:stretch;gap:20px}.nav.open{display:flex}.cart-link{font-size:.8rem;padding:8px 10px;white-space:nowrap;display:flex;align-items:center}.cart-count{font-size:.75rem;min-width:21px}.hero{grid-template-columns:1fr;padding:30px 0 66px;gap:32px}.hero h1{font-size:clamp(3.8rem,14vw,6rem);line-height:1.04;margin:15px 0 22px}.hero h1 br{display:none}.hero-copy .hero-intro{font-size:1rem;max-width:500px}.hero .eyebrow{font-size:.8rem}.hero-note{margin-top:23px}.hero-visual{width:100%;padding:6px 12px 38px 4px}.hero-main-photo{transform:rotate(2deg);padding:8px 8px 0;box-shadow:5px 5px 0 var(--cherry)}.hero-image{aspect-ratio:1.18}.hero-main-photo figcaption{font-size:.75rem;text-align:left;padding:10px 2px}.hero-mini-photo{width:34%;right:2px;bottom:-5px}.hero-mini-photo figcaption{font-size:.6rem}.hero-badge{width:104px;height:104px;top:-5px;right:2px}.hero-badge strong{font-size:1.85rem}.hero-badge span{font-size:.55rem}.ribbon{gap:18px;padding:13px 18px;font-size:1rem;justify-content:flex-start;overflow:hidden}.ribbon>span:last-child,.ribbon>b:last-of-type{display:none}}
@media(prefers-reduced-motion:reduce){.button,.hero-main-photo,.hero-mini-photo{transition:none}}

/* Shared storefront: paper menus, sturdy frames, and clear ordering controls. */
.brand-logo{border-radius:50%;overflow:hidden}
.hero-main-photo figcaption{text-align:left;padding-left:5px}
.section{padding:82px 0}
.section-title{margin-bottom:36px;align-items:center}
.section-title .eyebrow{color:var(--green)}
.section-title h2{color:var(--cherry)}
.product-grid{gap:26px}
.product-card{background:var(--paper);border:1.5px solid var(--chocolate);border-radius:6px;padding:12px 12px 19px;box-shadow:5px 5px 0 #e9d3a7;min-width:0}
.product-image-link{border:1px solid var(--line);border-radius:2px}
.product-photo{border-radius:0;aspect-ratio:1.12}
.product-info{padding:20px 7px 0;display:block}
.product-info h3{font-size:1.55rem;color:var(--chocolate)}
.product-info p{font-size:.9rem;min-height:3em;line-height:1.55;margin-top:9px;color:var(--muted)}
.product-price{display:block;margin-top:16px;font-weight:700;font-size:.9rem;color:var(--cherry)}
.product-card>.text-link{display:block;border-top:1px solid var(--line);margin:15px 7px 0;padding-top:12px;text-decoration:none;font-size:.875rem}
.product-card>.text-link span{float:right}
.product-card:hover .product-info h3{color:var(--cherry)}
.product-tag{font-size:.8rem;font-weight:600;border:1px solid var(--line);border-radius:3px;bottom:10px;left:10px;right:10px}
.preview-note{font-size:.875rem;line-height:1.6;max-width:820px}
.pickup-band{background:var(--green);color:var(--cream);border-top:7px solid var(--crust);padding:60px 0}
.pickup-heading{grid-template-columns:.8fr 1.5fr 1fr;gap:30px}
.pickup-heading h2{font-size:2.7rem;color:var(--cream)}
.pickup-heading .eyebrow,.pickup-band .eyebrow{color:var(--crust)}
.pickup-heading>p:last-child,.steps p{font-size:1rem;line-height:1.7}
.pickup-band .steps p{color:var(--cream)}
.steps{gap:45px;padding:36px 0 32px}
.steps>div{border-top:1px solid #fbf1da66;padding-top:24px}
.steps h3{font-size:1.45rem;line-height:1.25;margin:15px 0}
.step-no{border:0;background:var(--crust);color:var(--chocolate);font-family:var(--sans);font-weight:700;border-radius:4px}
.pickup-band .text-link:hover{color:var(--crust)}
.pickup-band .notice{background:var(--cream);color:var(--chocolate);border-color:var(--crust)}
.crust-section{background:#f1dbad}
.crust-section .rounded-photo{border:10px solid var(--paper);outline:1.5px solid var(--chocolate);box-shadow:8px 8px 0 var(--cherry);border-radius:2px;transform:rotate(-2deg)}
.feature-copy .eyebrow{color:var(--green)}
.feature-copy h2{color:var(--cherry)}
.feature-copy p{font-size:1rem}
.occasion-section{background:var(--cream);color:var(--chocolate);padding:78px 0;border-bottom:1px solid var(--line)}
.occasion-section .eyebrow{color:var(--green)}
.occasion-grid{gap:20px}
.occasion-grid>a{background:var(--crust);border:1.5px solid var(--chocolate);padding:24px 22px;border-radius:5px;box-shadow:4px 4px 0 var(--chocolate)}
.occasion-grid>a:nth-child(2){background:var(--cherry);color:var(--cream)}
.occasion-grid>a:nth-child(3){background:#efd5b5}
.occasion-grid>a:nth-child(4){background:var(--green);color:var(--cream)}
.occasion-no{font-size:.75rem;line-height:1.5;letter-spacing:.04em;font-weight:700}
.occasion-grid h3{font-size:1.7rem;line-height:1.16;margin:23px 0 17px}
.occasion-grid p{font-size:.9rem;min-height:105px;opacity:1;line-height:1.6}
.occasion-grid .text-link{font-size:.875rem;line-height:1.5}
.occasion-grid .text-link:hover{color:inherit}
.story-photo{aspect-ratio:1.1;border-radius:3px;border:10px solid var(--paper);outline:1.5px solid var(--chocolate);box-shadow:7px 7px 0 var(--green);transform:rotate(2deg)}
.newsletter{background:#ebd3ad;border-top:7px solid var(--crust);border-bottom:7px solid var(--cherry);padding:55px 0}
.newsletter-inner{grid-template-columns:1fr 1.5fr;gap:7%}
.newsletter-inner>img{max-width:360px;mix-blend-mode:normal;transform:rotate(-5deg)}
.newsletter h2{color:var(--cherry);font-size:clamp(2.3rem,3.6vw,3.5rem)}
.newsletter .eyebrow{color:var(--green)}
.signup-fields input{background:var(--paper);border:1.5px solid var(--chocolate);border-radius:4px;padding:13px 15px;min-height:52px;font-size:1rem}
.signup-fields .button{font-size:.9rem;padding:13px 20px}
.signup-form .small{font-size:.875rem}
.newsletter p{max-width:540px}
.small{font-size:.875rem;line-height:1.65}
.page-intro{padding-top:56px;padding-bottom:40px}
.page-intro .eyebrow{color:var(--green)}
.page-intro h1{font-size:clamp(2.8rem,5.5vw,5.3rem);line-height:1.13}
.page-intro .preview-note{background:#efdfbf;border-left:3px solid var(--cherry);font-size:.875rem!important}
.filter{font-size:.9rem;border:1px solid var(--chocolate);border-radius:5px;padding:10px 20px;min-height:44px}
.filter.active{background:var(--green);border-color:var(--green);color:var(--cream);box-shadow:2px 2px 0 var(--chocolate)}
.shop-grid .product-grid{row-gap:30px}
.shop-note{background:var(--crust);border:1.5px solid var(--chocolate);border-radius:5px;box-shadow:5px 5px 0 var(--chocolate);padding:27px 30px}
.shop-note h3{font-size:1.55rem}
.shop-note p{font-size:1rem}
.breadcrumb{font-size:.875rem}
.detail-photo{border:10px solid var(--paper);outline:1.5px solid var(--chocolate);box-shadow:6px 6px 0 var(--crust);border-radius:3px}
.detail-copy h1{font-size:clamp(2.75rem,4.5vw,4.3rem);line-height:1.13}
.detail-copy .eyebrow{color:var(--green)}
.detail-price{color:var(--green)}
.detail-price span{font-size:.875rem}
.variant-group{gap:12px}
.variant span{font-size:.95rem;border:1.5px solid var(--line);border-radius:4px;background:var(--paper)}
.variant input:checked+span{background:var(--crust);border-color:var(--chocolate);color:var(--chocolate);box-shadow:2px 2px 0 var(--chocolate)}
.quantity-label{font-size:.875rem}
.quantity-label input,.field input,.field select,.field textarea{border-color:var(--chocolate)}
.product-details details,.faq-list details{border-color:var(--line)}
summary{font-size:1rem}
details p{font-size:1rem;line-height:1.7}
.notice{background:#f0dfbd;border:1px solid var(--line);font-size:1rem;border-radius:4px}
.faq-layout h2{color:var(--cherry)}
.story-statement{background:var(--crust);border-top:7px solid var(--cherry);border-bottom:7px solid var(--green)}
.story-statement h2{font-size:clamp(2.7rem,5.7vw,5.3rem)}
.story-statement p{font-size:1rem}
.cart-line{border-color:var(--line)}
.cart-line img{border:1px solid var(--line)}
.cart-line h3{font-size:1.4rem;line-height:1.2}
.cart-line p,.cart-controls,.remove{font-size:.875rem}
.cart-controls input{min-height:40px;border-color:var(--chocolate)}
.remove{min-height:40px}
.order-summary{background:#efdfbd;border:1.5px solid var(--chocolate);box-shadow:5px 5px 0 var(--crust);border-radius:5px}
.order-summary .eyebrow{font-size:.8rem;color:var(--green)}
.order-summary h2{font-size:2rem;line-height:1.15}
.order-summary p,.order-summary .small,.summary-item p{font-size:.875rem}
.summary-item{font-size:.95rem}
.review-panel{border:1.5px solid var(--chocolate);box-shadow:5px 5px 0 var(--crust)}
.review-panel>h2{font-size:2.8rem;line-height:1.15}
.review-details>div,.checkbox-label,.field{font-size:1rem}
.form-status{font-size:.9rem;color:var(--cherry-dark)}
.empty-symbol{border:1.5px solid var(--chocolate);box-shadow:4px 4px 0 var(--chocolate)}
.footer{background:var(--chocolate);color:var(--cream);padding:60px 0 26px}
.footer-invitation{font:400 clamp(3.5rem,6.5vw,6.5rem)/1.07 var(--serif);letter-spacing:-.03em;padding:0 0 48px;margin-bottom:45px;border-bottom:1px solid #fbf1da55}
.footer-invitation span{color:var(--crust)}
.footer-grid{gap:35px;grid-template-columns:1.1fr 1fr 1fr 1.3fr}
.footer .wordmark{font-size:1.9rem;letter-spacing:-.04em;line-height:1.08}
.footer .wordmark small{font-size:.75rem;letter-spacing:.04em}
.footer-grid h3{font-size:.95rem;color:var(--crust)}
.footer-grid>div>a:not(.wordmark),.footer-grid p,.footer-grid .small{font-size:.875rem;opacity:1}
.footer a:hover{color:var(--crust)}
.footer-bottom{font-size:.8rem}
.toast{background:var(--green);color:var(--paper);border:1px solid var(--cream);border-radius:4px;font-size:1rem}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:var(--chocolate)}
.pickup-band a:focus-visible,.footer a:focus-visible{outline-color:var(--cream)}
@media(max-width:1000px){.pickup-heading{grid-template-columns:1fr 1.5fr}.pickup-heading>p:last-child{grid-column:2}.product-grid{gap:20px}.product-info h3{font-size:1.35rem}.product-info p{min-height:4.5em}.occasion-grid{grid-template-columns:1fr 1fr;gap:24px}.occasion-grid p{min-height:58px;max-width:350px}.occasion-grid h3{font-size:1.8rem}.footer-grid{grid-template-columns:1fr 1fr}.newsletter-inner{gap:7%}.newsletter-inner>img{max-width:290px}.signup-fields{flex-direction:column}.signup-fields .button{align-self:start}.footer-invitation{font-size:4.5rem}.steps{gap:26px}}
@media(max-width:700px){.section{padding:55px 0}.section-title{display:block}.section-title h2{font-size:2.4rem}.section-title>a{display:inline-block;margin-top:18px}.product-grid{grid-template-columns:1fr;gap:28px}.product-card{padding:10px 10px 18px}.product-photo{aspect-ratio:1.14}.product-info{display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px 6px 0}.product-info h3{font-size:1.5rem}.product-info p{min-height:0;font-size:.95rem}.product-price{margin:2px 0 0;font-size:.875rem}.product-card>.text-link{margin-top:17px;font-size:.9rem}.pickup-band{padding:43px 0}.pickup-heading{display:block}.pickup-heading h2{font-size:2.35rem;margin:18px 0}.pickup-heading>p:last-child{font-size:1rem}.steps{grid-template-columns:1fr;gap:22px;padding:28px 0}.steps>div{display:grid;grid-template-columns:40px 1fr;gap:0 17px;padding-top:20px}.steps h3{font-size:1.4rem;margin:0 0 10px}.steps p{font-size:1rem;grid-column:2}.step-no{grid-row:1/3}.two-up{grid-template-columns:1fr;gap:36px}.crust-section .two-up{gap:38px}.crust-section .rounded-photo{transform:rotate(-1deg);width:calc(100% - 7px);margin:0 auto}.feature-copy h2{font-size:2.5rem}.feature-copy p{font-size:1rem}.occasion-section{padding:50px 0}.occasion-grid{gap:22px;grid-template-columns:1fr 1fr}.occasion-grid>a{padding:20px 16px}.occasion-grid h3{font-size:1.5rem;margin-top:20px}.occasion-grid p{font-size:.9rem;min-height:140px}.occasion-no{font-size:.75rem;letter-spacing:0}.occasion-grid .text-link{font-size:.875rem}.story-photo{width:calc(100% - 10px);margin:0 auto;transform:rotate(1deg)}.newsletter{padding:35px 0 45px}.newsletter-inner{grid-template-columns:1fr;gap:24px}.newsletter-inner>img{max-width:235px}.newsletter h2{font-size:2.5rem}.newsletter p{font-size:1rem}.signup-fields{gap:14px}.signup-fields .button{width:100%}.signup-form .small{font-size:.875rem}.page-intro{padding-top:34px;padding-bottom:30px}.page-intro h1{font-size:clamp(2.65rem,10.5vw,4rem)}.page-intro>p:not(.eyebrow){font-size:1rem}.page-intro .preview-note{font-size:.875rem!important}.filter{font-size:.875rem;padding:8px 13px}.product-detail{grid-template-columns:1fr;gap:34px}.detail-photo{position:static;width:calc(100% - 6px)}.detail-copy h1{font-size:2.8rem}.detail-copy .eyebrow{font-size:.875rem}.add-row .button{font-size:.9rem}.variant span{display:flex;font-size:.9rem}.detail-price span{font-size:.875rem}.cart-layout,.checkout-layout{grid-template-columns:1fr;gap:30px}.cart-line{grid-template-columns:74px 1fr auto;gap:12px}.cart-line h3{font-size:1.2rem}.cart-line>strong{grid-column:auto}.cart-line p,.cart-controls,.remove{font-size:.875rem}.cart-controls{flex-wrap:wrap;gap:5px 10px}.cart-controls input{width:52px}.order-summary h2{font-size:1.8rem}.order-summary .button{font-size:.95rem}.checkout-layout .order-summary{grid-row:1}.review-panel>h2{font-size:2.2rem}.footer{padding-top:43px}.footer-invitation{font-size:clamp(2.65rem,11vw,4rem);padding-bottom:32px;margin-bottom:34px}.footer-grid{gap:30px 20px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{font-size:.8rem}.faq-layout{grid-template-columns:1fr;gap:30px}.shop-note{display:block;padding:24px}.shop-note p{margin:16px 0}}
@media(max-width:380px){.occasion-grid{grid-template-columns:1fr}.occasion-grid p{min-height:0;margin-bottom:20px}.hero-actions{gap:16px}.hero-actions .text-link{font-size:.85rem}.hero h1{font-size:3.9rem}.product-info{display:block}.product-price{margin-top:14px}.cart-line{grid-template-columns:65px 1fr}.cart-line>strong{grid-column:2}}
@media(max-width:480px){.occasion-grid{grid-template-columns:1fr;gap:20px}.occasion-grid>a{padding:23px 24px}.occasion-grid h3{font-size:1.8rem;margin:17px 0 13px}.occasion-grid p{min-height:0;max-width:290px}.occasion-grid .text-link{margin-top:20px}.hero-mini-photo figcaption{font-size:.65rem}}
