/* Shared footer architecture, with six distinct material and motion treatments. */
:root{--footer-bg:#edf2e9;--footer-ink:#234332;--footer-muted:#4d6455;--footer-line:#c9d6c7;--footer-panel:#fff;--motion-ease:cubic-bezier(.2,.75,.25,1)}
[data-theme=saffron]{--footer-bg:#f5eadb;--footer-ink:#65371d;--footer-muted:#73543d;--footer-line:#dcc7ad;--footer-panel:#fff9f0}
[data-theme=night]{--footer-bg:#101b16;--footer-ink:#eef2de;--footer-muted:#b5c1ad;--footer-line:#34473a;--footer-panel:#1c2b21}
[data-theme=petal]{--footer-bg:#f7edf1;--footer-ink:#663b52;--footer-muted:#755364;--footer-line:#e1cbd5;--footer-panel:#fff9fc}
[data-theme=daily]{--footer-bg:#eaf0fc;--footer-ink:#243e88;--footer-muted:#4d5b7e;--footer-line:#bdcbe9;--footer-panel:#f9fbff}
[data-theme=common]{--footer-bg:#edf3f6;--footer-ink:#172d43;--footer-muted:#526777;--footer-line:#cbdbe4;--footer-panel:#fff}
.site-footer{display:block!important;width:100%;max-width:none!important;margin:3rem 0 0!important;padding:0!important;background:var(--footer-bg);color:var(--footer-ink);border-top:1px solid var(--footer-line);font-size:1rem!important;line-height:1.65;overflow:hidden}
.footer-inner{max-width:1440px;margin:auto;padding:0 var(--gutter,2.5rem)}
.footer-perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding:2rem 0;border-bottom:1px solid var(--footer-line)}
.footer-perk{display:flex;align-items:flex-start;gap:1rem;min-width:0}.footer-perk>i{font-size:1.75rem;line-height:1.4;flex-shrink:0}.footer-perk b{display:block;font-size:1rem;font-weight:700;line-height:1.5}.footer-perk small{display:block;font-size:.875rem;line-height:1.6;color:var(--footer-muted);margin-top:.25rem}
.footer-content{display:grid;grid-template-columns:1.4fr 1fr .85fr;gap:3.5rem;padding:3rem 0}.footer-content>section,.footer-content>nav{min-width:0}.footer-wordmark{display:inline-flex;align-items:center;gap:.75rem;line-height:1.2;min-height:2.75rem;color:var(--footer-ink)}.footer-wordmark strong{font-size:1.875rem;letter-spacing:-.04em}.footer-symbol{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--footer-line);border-radius:50%;font-size:1.625rem;font-weight:700}.footer-symbol i{font-size:1.625rem}.footer-brand-column h2{font-size:1.5rem!important;line-height:1.35;letter-spacing:-.035em;font-weight:700;margin:1.5rem 0 .75rem;max-width:22ch}.site-footer .footer-story{font-size:1rem!important;line-height:1.75;color:var(--footer-muted);max-width:38ch;margin:0 0 1rem}.footer-phone{display:inline-flex;align-items:center;gap:.625rem;min-height:2.75rem;font-weight:700;font-size:1rem}.footer-phone i{font-size:1.25rem}.footer-content h3{font-size:1rem!important;font-weight:700;line-height:1.5;margin:.5rem 0 1.25rem}.footer-visit-column address{font-size:1rem;line-height:1.75;color:var(--footer-muted);max-width:27ch;overflow-wrap:anywhere}.footer-hours{display:flex;align-items:flex-start;gap:.75rem;margin:1.25rem 0 .75rem;font-size:1rem;color:var(--footer-muted)}.footer-hours i{font-size:1.375rem;margin-top:.125rem}.footer-hours b{display:block;color:var(--footer-ink);font-weight:600}.footer-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:fit-content;max-width:100%;min-height:2.75rem;padding:.375rem 0;font-size:1rem;text-align:left;color:var(--footer-ink);position:relative;line-height:1.5}.footer-link i{font-size:1.125rem;flex-shrink:0}.footer-nav .footer-link{width:100%;max-width:17rem}.footer-link::after{content:'';position:absolute;left:0;bottom:.25rem;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--motion-ease)}
.footer-contact-banner{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;padding:1.75rem 2rem;background:var(--footer-panel);border:1px solid var(--footer-line);border-radius:.75rem;margin-bottom:2rem}.footer-eyebrow{font-size:.875rem;font-weight:600;color:var(--footer-muted)}.footer-contact-banner h2{font-size:1.5rem!important;line-height:1.4;font-weight:700;letter-spacing:-.035em;margin:.5rem 0}.site-footer .footer-contact-banner p{font-size:1rem!important;line-height:1.65;color:var(--footer-muted);margin:0;max-width:58ch}.footer-cta{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;min-height:3.25rem;padding:.875rem 1.25rem;font-size:1rem;line-height:1.5;font-weight:700;background:var(--footer-ink);color:var(--footer-panel);border:1px solid var(--footer-ink);border-radius:.5rem;white-space:nowrap}.footer-cta i{font-size:1.375rem}.footer-bottom{border-top:1px solid var(--footer-line);display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.75rem;padding:1.25rem 0 1.5rem;color:var(--footer-muted);font-size:.875rem}.footer-collection-link{display:inline-flex;align-items:center;gap:.625rem;margin-left:auto;min-height:2.75rem;font-size:1rem;color:var(--footer-ink)}
[data-theme=saffron] .site-footer{border-top:4px double var(--footer-line)}[data-theme=saffron] .footer-symbol,[data-theme=saffron] .footer-contact-banner,[data-theme=saffron] .footer-cta{border-radius:2px}[data-theme=night] .footer-cta{background:#d8e6b0;border-color:#d8e6b0;color:#152419}[data-theme=night] .footer-contact-banner{border-radius:0}[data-theme=petal] .footer-contact-banner{border-radius:1.5rem}[data-theme=petal] .footer-cta{border-radius:3rem}[data-theme=daily] .site-footer{border-top:4px solid #3159bc}[data-theme=daily] .footer-contact-banner,[data-theme=daily] .footer-symbol,[data-theme=daily] .footer-cta{border-radius:0}[data-theme=common] .footer-symbol{border-radius:.5rem;color:#087e83}[data-theme=common] .footer-cta{background:#087e83;border-color:#087e83;color:#fff}
/* Isolated ink layers keep labels legible while giving each brand its own movement. */
:is(.add,.primary,.hero-cta,.basket-button,.footer-cta){position:relative;isolation:isolate;overflow:hidden;transition:transform .24s var(--motion-ease),box-shadow .24s var(--motion-ease),background-color .24s,color .24s,border-color .24s}
:is(.add,.primary,.hero-cta,.basket-button,.footer-cta)::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:currentColor;opacity:.1;transform:translateY(105%);transition:transform .35s var(--motion-ease);border-radius:inherit}
:is(button,a,select,input,textarea):focus-visible{outline:3px solid var(--accent,#356348)!important;outline-offset:4px!important}.site-footer :is(a,button):focus-visible{outline-color:var(--footer-ink)!important}
:is(.hero-cta,.footer-cta,.footer-link,.footer-collection-link,.night-about,.common-fresh-actions>button) i{transition:transform .25s var(--motion-ease)}
.icon-button,.quantity button,.categories button,.contact,.text-link{transition:background-color .2s,color .2s,box-shadow .2s,transform .2s}.add i{transition:transform .3s var(--motion-ease)}
@media(hover:hover) and (pointer:fine){
 :is(.add,.primary,.hero-cta,.basket-button,.footer-cta):not(:disabled):hover::before{transform:translateY(0)}
 [data-theme=verdant] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta):not(:disabled):hover{transform:translateY(-3px);box-shadow:0 7px 0 -4px #315b4233}
 [data-theme=saffron] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta):not(:disabled):hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 #91502055}
 [data-theme=night] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta)::before{transform:translateX(-110%) skewX(-18deg);background:linear-gradient(90deg,transparent,#fff,transparent);opacity:.2}
 [data-theme=night] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta):not(:disabled):hover::before{transform:translateX(110%) skewX(-18deg)}
 [data-theme=night] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta):not(:disabled):hover{box-shadow:0 0 0 3px #d8e6b025;transform:translateY(-2px)}
 [data-theme=petal] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta)::before{border-radius:50%;transform:translateY(110%) scale(.5)}
 [data-theme=petal] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta):not(:disabled):hover::before{transform:translateY(0) scale(1.5)}
 [data-theme=petal] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta):not(:disabled):hover{transform:translateY(-3px);box-shadow:0 8px 18px #834a6724}
 [data-theme=daily] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta)::before{transform:translateX(-105%)}
 [data-theme=daily] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta):not(:disabled):hover::before{transform:translateX(0)}
 [data-theme=daily] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta):not(:disabled):hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 #3159bc44}
 [data-theme=common] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta)::before{transform:translateY(-105%)}
 [data-theme=common] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta):not(:disabled):hover::before{transform:translateY(0)}
 [data-theme=common] :is(.add,.primary,.hero-cta,.basket-button,.footer-cta):not(:disabled):hover{transform:translateY(-2px);box-shadow:0 5px 0 -2px #172d4322}
 :is(.hero-cta,.footer-cta,.footer-link,.footer-collection-link,.night-about,.common-fresh-actions>button):hover i:last-child{transform:translateX(4px)}
 .add:not(:disabled):hover i{transform:rotate(90deg)}.footer-link:hover::after{transform:scaleX(1)}
 .icon-button:not(:disabled):hover,.quantity button:not(:disabled):hover{box-shadow:inset 0 0 0 2px currentColor}.categories button:hover{transform:translateY(-2px)}
 .footer-phone:hover,.contact:hover{opacity:.8}
}
:is(.add,.primary,.hero-cta,.basket-button,.footer-cta):not(:disabled):active{transform:translateY(1px) scale(.98)!important;box-shadow:none!important}
.art-note{display:none!important}
.floating-basket{transition:box-shadow .25s,background-color .25s}.product h3 button{transition:color .2s}.hero-feature,.common-fresh-photo button,.night-pantry-pick button{transition:box-shadow .25s,color .25s}
@media(hover:hover) and (pointer:fine){.floating-basket:hover{box-shadow:0 10px 30px #0004,0 0 0 3px var(--border)}.product h3 button:hover{color:var(--accent)}.hero-feature:hover,.common-fresh-photo button:hover,.night-pantry-pick button:hover{box-shadow:inset 0 -2px currentColor}}
@media(max-width:1000px){.footer-content{grid-template-columns:1.2fr 1fr;gap:2rem}.footer-nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 2rem}.footer-nav h3{grid-column:1/-1;margin-bottom:.5rem}.footer-nav .footer-link{max-width:none}.footer-contact-banner{grid-template-columns:1fr;gap:1.5rem}.footer-cta{justify-self:start;white-space:normal}.footer-perks{gap:1.25rem}}
@media(max-width:600px){.site-footer{margin-top:2rem!important}.footer-perks{grid-template-columns:1fr;gap:1.25rem;padding:1.5rem 0}.footer-perk{gap:1rem}.footer-perk>i{font-size:1.5rem}.footer-content{grid-template-columns:1fr;gap:2rem;padding:2rem 0}.footer-brand-column h2{max-width:24ch}.footer-story{max-width:none!important}.footer-wordmark strong{font-size:1.75rem}.footer-visit-column{padding-top:1.5rem;border-top:1px solid var(--footer-line)}.footer-content h3{margin:0 0 .75rem}.footer-nav{grid-template-columns:1fr;gap:.125rem;padding-top:1.5rem;border-top:1px solid var(--footer-line)}.footer-contact-banner{padding:1.5rem;gap:1.25rem;margin-bottom:1.5rem}.footer-contact-banner h2{font-size:1.375rem!important}.footer-cta{width:100%;justify-self:stretch;gap:.625rem;padding:.875rem 1rem}.footer-cta span{flex:1}.footer-bottom{flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.25rem 0 1.5rem}.footer-collection-link{margin-left:0}.footer-hours{margin-top:1rem}}
@media(prefers-reduced-motion:reduce){:is(.add,.primary,.hero-cta,.basket-button,.footer-cta),:is(.add,.primary,.hero-cta,.basket-button,.footer-cta)::before,.footer-link::after,.icon-button,.quantity button,.categories button,.contact,.text-link,.add i,:is(.hero-cta,.footer-cta,.footer-link,.footer-collection-link,.night-about,.common-fresh-actions>button) i{transition:none!important}:is(.add,.primary,.hero-cta,.basket-button,.footer-cta):hover,:is(.add,.primary,.hero-cta,.basket-button,.footer-cta):active,.categories button:hover{transform:none!important}:is(.hero-cta,.footer-cta,.footer-link,.footer-collection-link,.night-about,.common-fresh-actions>button):hover i,.add:hover i{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.floating-basket,.product h3 button,.hero-feature,.common-fresh-photo button,.night-pantry-pick button{transition:none!important}}
