@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap";:root{--color-brand-primary:#3b2415;--color-brand-secondary:#1a3a1a;--color-brand-accent:#c5943a;--color-brand-accent-hover:#d4a84a;--color-brand-warm:#f5d8b4;--color-complementary:#1a6b6a;--color-complementary-light:#2a9d8f;--color-complementary-pale:#e8f5f3;--color-accent-warm:#e07a5f;--color-accent-warm-hover:#d4644a;--color-hero-gradient-start:#1a3a1a;--color-hero-gradient-end:#0f2d2d;--color-surface-primary:#faf5ee;--color-surface-secondary:#f3ebe0;--color-surface-tertiary:#ede3d5;--color-surface-elevated:#fff;--color-surface-dark:#2c1a0e;--color-text-primary:#1a0f0a;--color-text-secondary:#5c4a3a;--color-text-tertiary:#8b7b6b;--color-text-on-dark:#faf5ee;--color-text-on-accent:#fff;--color-text-link:#4a7c59;--color-cat-sprouts:#4a7c59;--color-cat-salads:#2e8b57;--color-cat-smoothies:peru;--color-cat-snacks:#b8860b;--color-success:#4a7c59;--color-warning:#d4a84a;--color-error:#c0392b;--color-info:#2e86ab;--color-whatsapp:#25d366;--color-whatsapp-hover:#20bd5a;--color-available:#4a7c59;--color-unavailable:#c0392b;--color-seasonal:peru;--color-coming-soon:#2e86ab;--color-border-subtle:#3c241514;--color-border-default:#3c241526;--color-border-strong:#3c241540;--font-display:"Playfair Display", "Georgia", serif;--font-body:"Inter", "system-ui", -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Consolas", monospace;--text-xs:clamp(.6875rem, .65rem + .15vw, .75rem);--text-sm:clamp(.8125rem, .775rem + .15vw, .875rem);--text-base:clamp(.9375rem, .9rem + .15vw, 1rem);--text-lg:clamp(1.0625rem, 1rem + .25vw, 1.125rem);--text-xl:clamp(1.25rem, 1.15rem + .4vw, 1.375rem);--text-2xl:clamp(1.5rem, 1.35rem + .6vw, 1.75rem);--text-3xl:clamp(1.875rem, 1.65rem + .9vw, 2.25rem);--text-4xl:clamp(2.25rem, 1.95rem + 1.2vw, 3rem);--text-5xl:clamp(3rem, 2.5rem + 2vw, 4rem);--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--leading-loose:1.8;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-none:0;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px #1a0f0a0d;--shadow-md:0 4px 12px #1a0f0a14;--shadow-lg:0 8px 24px #1a0f0a1f;--shadow-xl:0 16px 48px #1a0f0a29;--shadow-inner:inset 0 2px 4px #1a0f0a0f;--shadow-glow:0 0 20px #c5943a40;--shadow-bottom-nav:0 -4px 20px #1a0f0a26;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--duration-slower:.6s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--z-base:0;--z-dropdown:100;--z-sticky:200;--z-header:300;--z-overlay:400;--z-modal:500;--z-sheet:600;--z-toast:700;--z-tooltip:800;--z-bottom-nav:900;--header-height:3.5rem;--bottom-nav-height:3.5rem;--safe-area-bottom:env(safe-area-inset-bottom,0px);--content-max-width:1280px;--content-padding:var(--space-4);--grid-gap:var(--space-4);--card-min-width:160px}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-normal:0s;--duration-slow:0s;--duration-slower:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ol,ul{margin:0;padding:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100dvh;line-height:var(--leading-normal);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background-color:var(--color-surface-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}h1,h2,h3,h4,h5,h6,button,input,label{line-height:var(--leading-tight)}h1,h2,h3,h4,h5,h6{text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}a:not([class]){-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto;color:var(--color-text-link)}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}button{cursor:pointer;background:0 0;border:none;padding:0}*{-webkit-tap-highlight-color:transparent}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--color-brand-accent);outline-offset:2px}.heading-1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}.heading-2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text-primary)}.heading-3{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--color-text-primary)}.heading-4{font-family:var(--font-body);font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--color-text-primary)}.heading-5{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-snug);color:var(--color-text-primary)}.body-lg{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);color:var(--color-text-primary)}.body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--color-text-primary)}.body-sm{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--color-text-secondary)}.label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-tertiary)}.caption{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--color-text-tertiary)}.brand-name{font-family:var(--font-display);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase}.tagline{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-brand-accent)}.price{font-family:var(--font-body);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.price-large{font-family:var(--font-body);font-size:var(--text-xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.hinglish{font-family:var(--font-display);color:var(--color-text-secondary);font-style:italic}.ingredient-tag{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--color-surface-tertiary);color:var(--color-text-secondary);line-height:1;display:inline-block}.link{color:var(--color-text-link);font-weight:var(--weight-medium);transition:color var(--duration-fast) var(--ease-out);text-underline-offset:2px;text-decoration-line:underline;text-decoration-thickness:1px}.link:hover{color:var(--color-brand-accent)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes cart-pulse{0%{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.95)}75%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes badge-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes gentle-pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in{animation:fade-in var(--duration-normal) var(--ease-out) both}.animate-fade-in-up{animation:fade-in-up var(--duration-slow) var(--ease-out) both}.animate-fade-in-down{animation:fade-in-down var(--duration-slow) var(--ease-out) both}.animate-slide-up{animation:slide-up var(--duration-slow) var(--ease-out) both}.animate-scale-in{animation:scale-in var(--duration-normal) var(--ease-spring) both}.animate-cart-pulse{animation:cart-pulse var(--duration-slow) var(--ease-spring)}.animate-badge-pop{animation:badge-pop var(--duration-normal) var(--ease-spring) both}.animate-shimmer{background:linear-gradient(90deg, var(--color-surface-secondary) 25%, var(--color-surface-tertiary) 50%, var(--color-surface-secondary) 75%);animation:shimmer 1.5s var(--ease-in-out) infinite;background-size:200% 100%}.animate-spin{animation:1s linear infinite spin}.animate-float{animation:float 3s var(--ease-in-out) infinite}.stagger-children>*{animation:fade-in-up var(--duration-slow) var(--ease-out) both}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:50ms}.stagger-children>:nth-child(3){animation-delay:.1s}.stagger-children>:nth-child(4){animation-delay:.15s}.stagger-children>:nth-child(5){animation-delay:.2s}.stagger-children>:nth-child(6){animation-delay:.25s}.stagger-children>:nth-child(7){animation-delay:.3s}.stagger-children>:nth-child(8){animation-delay:.35s}.transition-colors{transition-property:color,background-color,border-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}.transition-transform{transition-property:transform;transition-duration:var(--duration-normal);transition-timing-function:var(--ease-out)}.transition-all{transition-property:all;transition-duration:var(--duration-normal);transition-timing-function:var(--ease-out)}@media (prefers-reduced-motion:reduce){.animate-fade-in,.animate-fade-in-up,.animate-fade-in-down,.animate-slide-up,.animate-scale-in,.animate-cart-pulse,.animate-badge-pop,.animate-shimmer,.animate-spin,.animate-float,.stagger-children>*{animation:none!important}}.shell{min-height:100vh;padding-bottom:calc(88px + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}@media (min-width:768px){.shell{padding-bottom:0}}.site-header{z-index:var(--z-header);background-color:var(--color-brand-primary);color:ivory;-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border-subtle);height:var(--header-height);transition:box-shadow var(--transition-normal);align-items:center;padding-block:0;display:flex;position:sticky;top:0}.site-header.scrolled{box-shadow:var(--shadow-sm)}.site-header .container{justify-content:space-between;align-items:center;width:100%;display:flex}.hero{background-color:var(--color-surface-secondary);padding-block:var(--space-12);text-align:center;position:relative;overflow:hidden}.hero-img{object-fit:cover;opacity:.15;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-content{z-index:1;position:relative}.main-content{padding-block:var(--space-8);flex:1}.site-footer{background-color:var(--color-brand-primary);color:ivory;border-top:1px solid var(--color-border-subtle);padding-top:var(--space-12);padding-bottom:calc(var(--space-12) + 88px + env(safe-area-inset-bottom,0px))}@media (min-width:768px){.site-footer{padding-bottom:var(--space-12)}}.footer-grid{gap:var(--space-8);grid-template-columns:1fr;display:grid}@media (min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr)}}.footer-section{gap:var(--space-4);flex-direction:column;display:flex}.footer-link{color:ivory;transition:color var(--transition-fast);align-items:center;gap:var(--space-2);text-decoration:none;display:inline-flex}.footer-link:hover{color:var(--color-brand-warm)}.footer-bottom{margin-top:var(--space-12);padding-top:var(--space-6);text-align:center;color:#fffff0b3;border-top:1px solid #fffff033}.header-dropdown-menu{top:calc(100% - var(--space-2));right:var(--space-4);background-color:var(--color-surface-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-2);gap:var(--space-2);flex-direction:column;min-width:180px;display:none;position:absolute}.header-dropdown-menu.open{display:flex}.header-dropdown-item{color:var(--color-text-primary);padding:var(--space-2) var(--space-4);align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;text-decoration:none;display:flex}.header-dropdown-item:hover{background-color:var(--color-surface-secondary)}.bottom-nav-container{bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));z-index:var(--z-bottom-nav);pointer-events:none;transition:transform var(--duration-normal) var(--ease-out), opacity var(--duration-normal) var(--ease-out), visibility var(--duration-normal) var(--ease-out);will-change:transform, opacity;justify-content:center;display:flex;position:fixed;left:0;right:0}body.modal-open .bottom-nav-container{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(150%)}@media (min-width:768px){.bottom-nav-container{display:none}}.bottom-nav{pointer-events:auto;background-color:var(--color-surface-dark);color:var(--color-surface-primary);border-radius:var(--radius-full);padding:var(--space-2) var(--space-6);align-items:center;gap:var(--space-8);box-shadow:var(--shadow-lg);display:flex}.bottom-nav-item{color:#ffffffb3;padding:var(--space-2);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;text-decoration:none;display:flex}.bottom-nav-item.active,.bottom-nav-item:hover{color:var(--color-surface-primary)}.bottom-nav-icon{fill:currentColor;width:24px;height:24px}.search-bar-container{margin-block:var(--space-6)}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-icon{left:var(--space-4);width:20px;height:20px;fill:var(--color-text-tertiary);pointer-events:none;position:absolute}.search-input{background-color:var(--color-surface-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-full);width:100%;padding:var(--space-3) var(--space-10) var(--space-3) var(--space-10);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.search-input:focus{border-color:var(--color-brand-primary);outline:none;box-shadow:0 0 0 2px #3b24151a}.search-input::placeholder{color:var(--color-text-tertiary)}.search-clear{right:var(--space-3);border-radius:var(--radius-full);cursor:pointer;width:32px;height:32px;color:var(--color-text-tertiary);transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.search-clear:hover{background-color:var(--color-surface-tertiary);color:var(--color-text-primary)}.search-clear svg{fill:currentColor;width:18px;height:18px}.search-clear.hidden{display:none}#category-nav-container{top:var(--header-height);z-index:var(--z-sticky);background-color:var(--color-surface-primary);scroll-margin-top:calc(var(--header-height) + var(--space-4));position:sticky}.category-nav{background-color:var(--color-surface-primary);border-bottom:1px solid var(--color-border-subtle);padding-block:var(--space-3);margin-inline:calc(-1 * var(--space-4));margin-bottom:var(--space-4);position:relative}.category-nav-wrapper{align-items:center;width:100%;display:flex;position:relative}.category-nav-scroll{gap:var(--space-2);scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding-inline:var(--space-4);width:100%;display:flex;overflow-x:auto}.category-nav-scroll::-webkit-scrollbar{display:none}.category-pill{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--color-border-default);color:var(--color-text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;background:0 0;flex-shrink:0}.category-pill:hover{border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.category-pill.active{background-color:var(--color-brand-primary);border-color:var(--color-brand-primary);color:var(--color-text-on-dark)}.category-nav-arrow{z-index:10;border-radius:var(--radius-full);background-color:var(--color-surface-primary);border:1px solid var(--color-border-default);width:32px;height:32px;color:var(--color-brand-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:none;position:absolute;top:50%;transform:translateY(-50%)}.category-nav-arrow:hover{background-color:var(--color-brand-primary);color:var(--color-text-on-dark);box-shadow:var(--shadow-md)}.category-nav-arrow.left{left:0}.category-nav-arrow.right{right:0}.category-nav-arrow.hidden{opacity:0;pointer-events:none}.category-nav-arrow svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}@media (min-width:768px){.category-nav-arrow{display:flex}.category-nav-wrapper{padding-inline:40px}.category-nav-scroll{gap:var(--space-3);padding-inline:0}}.category-section{margin-bottom:var(--space-8);scroll-margin-top:calc(var(--header-height) + 64px)}@media (min-width:768px){.category-section{margin-bottom:var(--space-10)}}.category-header{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.category-title{font-family:var(--font-display);font-weight:var(--weight-bold);color:var(--color-text-primary);font-size:var(--text-xl)}@media (min-width:768px){.category-title{font-size:var(--text-2xl)}}.category-header-right{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.category-item-count{color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--weight-medium);display:none}.category-show-more-btn{background-color:var(--color-surface-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-full);cursor:pointer;font-family:var(--font-body);font-size:.75rem;font-weight:var(--weight-semibold);color:var(--color-brand-primary);padding:3px var(--space-3);white-space:nowrap;transition:all var(--duration-fast) var(--ease-out);align-items:center;gap:2px;display:inline-flex}.category-show-more-btn:hover{background-color:var(--color-surface-tertiary);border-color:var(--color-brand-primary);color:var(--color-brand-primary)}.category-show-more-btn:active{transform:scale(.97)}@media (min-width:768px){.category-item-count{display:inline-block}.category-show-more-btn{display:none}}.category-description{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin-bottom:var(--space-3)}.product-slider-wrapper{position:relative}.product-slider{justify-content:start;gap:var(--space-2);scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scroll-snap-type:x proximity;padding-bottom:var(--space-2);grid-template-rows:repeat(2,auto);grid-auto-columns:148px;grid-auto-flow:column;padding-inline:1px;display:grid;overflow:auto hidden}.product-slider::-webkit-scrollbar{display:none}.product-slider>.product-card{scroll-snap-align:start;width:148px}@media (min-width:768px){.product-slider{gap:var(--space-4);padding-bottom:var(--space-3);grid-auto-columns:210px}.product-slider>.product-card{width:210px}}.slider-arrow{z-index:5;border-radius:var(--radius-full);background-color:var(--color-surface-primary);border:1px solid var(--color-border-default);width:36px;height:36px;color:var(--color-brand-primary);cursor:pointer;box-shadow:var(--shadow-md);transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:none;position:absolute;top:50%;transform:translateY(-50%)}.slider-arrow:hover{background-color:var(--color-brand-primary);color:var(--color-text-on-dark);box-shadow:var(--shadow-lg)}.slider-arrow.left{left:-14px}.slider-arrow.right{right:-14px}.slider-arrow.hidden{opacity:0;pointer-events:none}.slider-arrow svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}@media (min-width:768px){.slider-arrow{display:flex}}.category-section.expanded .product-slider{grid-auto-flow:unset;grid-template-rows:unset;gap:var(--space-2);scroll-snap-type:none;grid-template-columns:repeat(2,1fr);display:grid;overflow-x:visible}.category-section.expanded .product-slider>.product-card{width:auto;max-width:none}@media (min-width:768px){.category-section.expanded .product-slider{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.category-section.expanded .slider-arrow{display:none!important}.product-card{background-color:var(--color-surface-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-default);transform:translateY(-3px)}.product-card:focus-visible{outline:2px solid var(--color-brand-accent);outline-offset:2px}.product-card-img-wrapper{aspect-ratio:4/3;background-color:var(--color-surface-tertiary);width:100%;position:relative;overflow:hidden}@media (min-width:768px){.product-card-img-wrapper{aspect-ratio:1}}.product-card-img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-normal) var(--ease-out)}.product-card:hover .product-card-img{transform:scale(1.05)}.product-card-body{padding:var(--space-2);flex-direction:column;flex-grow:1;display:flex}@media (min-width:768px){.product-card-body{padding:var(--space-3)}}.product-card-name{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary);-webkit-line-clamp:2;line-clamp:2;line-height:var(--leading-tight);-webkit-box-orient:vertical;margin-bottom:2px;display:-webkit-box;overflow:hidden}@media (min-width:768px){.product-card-name{font-size:var(--text-base);margin-bottom:var(--space-1);line-height:var(--leading-snug)}}.product-card-desc{color:var(--color-text-secondary);margin-bottom:var(--space-1);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.6875rem;line-height:1.25;display:-webkit-box;overflow:hidden}@media (min-width:768px){.product-card-desc{font-size:var(--text-xs);margin-bottom:var(--space-2);line-height:var(--leading-normal)}}.product-card-footer{justify-content:flex-end;align-items:baseline;gap:var(--space-1);text-align:right;margin-top:auto;padding-top:2px;display:flex}.product-card-price{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-bold);color:#2d5838;margin-left:auto}@media (min-width:768px){.product-card-price{font-size:var(--text-base)}}.product-card-price-prefix{font-size:.625rem;font-weight:var(--weight-normal);color:var(--color-text-tertiary);margin-right:var(--space-1)}@media (min-width:768px){.product-card-price-prefix{font-size:var(--text-xs)}}.product-card-tags{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:none}@media (min-width:768px){.product-card-tags{display:flex}}.product-tag{padding:1px var(--space-2);border-radius:var(--radius-full);background-color:var(--color-surface-tertiary);color:var(--color-text-secondary);font-size:.6875rem;line-height:1.3;display:inline-block}.availability-badge{top:var(--space-1);right:var(--space-1);z-index:2;border-radius:var(--radius-full);font-size:.625rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center;padding:1px 6px;display:inline-flex;position:absolute}@media (min-width:768px){.availability-badge{top:var(--space-2);right:var(--space-2);padding:2px var(--space-2);font-size:.6875rem}}.availability-badge.freshly_prepared{color:var(--color-text-on-dark);background-color:#4a7c59e6}.availability-badge.limited,.availability-badge.low_stock{color:var(--color-surface-dark);background-color:#d4a84ae6}.availability-badge.out_of_stock,.availability-badge.temporarily_unavailable{color:var(--color-text-on-dark);background-color:#c0392be6}.availability-badge.coming_soon{color:var(--color-text-on-dark);background-color:#2e86abe6}.availability-badge.seasonal{color:var(--color-text-on-dark);background-color:#cd853fe6}.product-badge-new,.product-badge-featured{top:var(--space-1);left:var(--space-1);z-index:2;border-radius:var(--radius-full);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);align-items:center;gap:2px;padding:1px 6px;display:inline-flex;position:absolute}@media (min-width:768px){.product-badge-new,.product-badge-featured{top:var(--space-2);left:var(--space-2);padding:2px var(--space-2);gap:3px;font-size:.6875rem}}.product-badge-new{color:var(--color-text-on-dark);background-color:#2e86abeb}.product-badge-featured{color:var(--color-surface-dark);background-color:#c5943aeb}.product-card-unavailable-overlay{z-index:3;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background-color:#1a0f0a73;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.unavailable-label{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-primary);box-shadow:var(--shadow-sm);background-color:#faf5eef2;display:inline-flex}.unavailable-label.sold-out{color:var(--color-text-on-dark);background-color:#c0392beb}.unavailable-label.coming-soon{color:var(--color-text-on-dark);background-color:#2e86abeb}.unavailable-label.paused{color:var(--color-text-on-dark);background-color:#8b7b6beb}.product-card-badge-container{min-height:var(--space-8);position:relative}body.modal-open{touch-action:none;overflow:hidden!important}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-overlay);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out), visibility var(--duration-normal) var(--ease-out);background-color:#1a0f0aa6;position:fixed;inset:0}.modal-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.modal-container{z-index:var(--z-modal);max-height:90vh;background-color:var(--color-surface-elevated);border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl);max-height:90dvh;box-shadow:var(--shadow-xl);transition:transform var(--duration-slow) var(--ease-spring), opacity var(--duration-normal) var(--ease-out), visibility var(--duration-normal) var(--ease-out);opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;transform:translateY(100%)}.modal-container.active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}@media (min-width:768px){.modal-container{border-radius:var(--radius-xl);width:90%;max-width:680px;max-height:85vh;transition:transform var(--duration-normal) var(--ease-spring), opacity var(--duration-normal) var(--ease-out), visibility var(--duration-normal) var(--ease-out);opacity:0;visibility:hidden;pointer-events:none;inset:50% auto auto 50%;transform:translate(-50%,-45%)scale(.96)}.modal-container.active{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}}.modal-handle-bar{background-color:var(--color-border-strong);border-radius:var(--radius-full);width:40px;height:4px;margin:var(--space-2) auto var(--space-1) auto}@media (min-width:768px){.modal-handle-bar{display:none}}.modal-close-btn{top:var(--space-3);right:var(--space-3);z-index:10;border-radius:var(--radius-full);border:1px solid var(--color-border-subtle);width:36px;height:36px;color:var(--color-text-primary);cursor:pointer;box-shadow:var(--shadow-sm);transition:background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background-color:#faf5eee6;justify-content:center;align-items:center;display:flex;position:absolute}.modal-close-btn:hover{background-color:var(--color-surface-tertiary);transform:scale(1.05)}.modal-body-scroll{-webkit-overflow-scrolling:touch;padding:var(--space-4);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));flex-grow:1;overflow-y:auto}.product-detail-img-wrapper{aspect-ratio:16/10;border-radius:var(--radius-lg);width:100%;margin-bottom:var(--space-4);background-color:var(--color-surface-tertiary);position:relative;overflow:hidden}.product-detail-img{object-fit:cover;width:100%;height:100%}.product-detail-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.product-detail-desc{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.product-detail-ingredients{margin-bottom:var(--space-5)}.ingredients-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.ingredients-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.ingredient-chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background-color:var(--color-surface-secondary);border:1px solid var(--color-border-subtle);font-size:var(--text-xs);color:var(--color-text-primary);align-items:center;display:inline-flex}.product-detail-section{padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle);margin-bottom:var(--space-4)}.section-title{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-3)}.product-detail-footer,.modal-footer-bar{background-color:var(--color-surface-elevated);border-top:1px solid var(--color-border-subtle);padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));justify-content:space-between;align-items:center;gap:var(--space-4);z-index:5;flex-shrink:0;display:flex;box-shadow:0 -4px 16px #1a0f0a0f}.product-total-display{flex-direction:column;display:flex}.product-total-label{font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase}.product-total-price{font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-brand-primary)}.add-to-cart-btn{padding:var(--space-3) var(--space-6);background-color:var(--color-brand-primary);color:var(--color-text-on-dark);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:none;flex-grow:1;justify-content:center;align-items:center;display:inline-flex}.add-to-cart-btn:hover:not(:disabled){background-color:var(--color-brand-accent);color:var(--color-surface-dark);transform:translateY(-1px)}.add-to-cart-btn:disabled{opacity:.5;cursor:not-allowed}.product-detail-unavailable-banner{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);margin-bottom:var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:flex}.product-detail-unavailable-banner .banner-icon{font-size:var(--text-xl);flex-shrink:0}.product-detail-unavailable-banner.banner-sold-out{color:#c0392b;background-color:#c0392b1a;border:1px solid #c0392b4d}.product-detail-unavailable-banner.banner-coming-soon{color:#2e86ab;background-color:#2e86ab1a;border:1px solid #2e86ab4d}.product-detail-unavailable-banner.banner-paused{color:var(--color-text-secondary);background-color:#8b7b6b1a;border:1px solid #8b7b6b4d}.product-detail-disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.35;filter:grayscale(.3)}.variant-selector-grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.variant-pill{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border-default);background-color:var(--color-surface-primary);color:var(--color-text-primary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);flex-direction:column;align-items:flex-start;display:inline-flex}.variant-pill:hover{border-color:var(--color-brand-primary)}.variant-pill.active{background-color:var(--color-brand-primary);border-color:var(--color-brand-primary);color:var(--color-text-on-dark)}.variant-label{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.variant-price{font-size:var(--text-xs);opacity:.85}.addon-list{gap:var(--space-2);flex-direction:column;display:flex}.addon-item{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background-color:var(--color-surface-secondary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);justify-content:space-between;align-items:center;display:flex}.addon-item:hover{background-color:var(--color-surface-tertiary)}.addon-item.selected{border-color:var(--color-brand-primary);background-color:#3b24150d}.addon-left{align-items:center;gap:var(--space-3);display:flex}.addon-checkbox{width:20px;height:20px;accent-color:var(--color-brand-primary);cursor:pointer}.addon-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary)}.addon-price{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-brand-accent)}.stepper-container{border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background-color:var(--color-surface-secondary);align-items:center;display:inline-flex;overflow:hidden}.stepper-btn{width:38px;height:38px;color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--weight-bold);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.stepper-btn:hover:not(:disabled){background-color:var(--color-surface-tertiary)}.stepper-btn:disabled{opacity:.3;cursor:not-allowed}.stepper-count{text-align:center;min-width:32px;font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text-primary)}.note-input-container{gap:var(--space-1);flex-direction:column;display:flex}.note-textarea{width:100%;min-height:72px;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-default);background-color:var(--color-surface-secondary);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-sm);resize:vertical;transition:border-color var(--duration-fast) var(--ease-out)}.note-textarea:focus{border-color:var(--color-brand-primary);outline:none}.note-counter{font-size:var(--text-xs);color:var(--color-text-tertiary);align-self:flex-end}.toast-notification{top:calc(var(--header-height) + var(--space-4));background-color:var(--color-surface-dark);color:var(--color-text-on-dark);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-lg);z-index:var(--z-toast);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-spring);position:fixed;left:50%;transform:translate(-50%)translateY(-20px)}.toast-notification.active{opacity:1;transform:translate(-50%)translateY(0)}.cart-container{gap:var(--space-4);flex-direction:column;display:flex}.cart-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:baseline;display:flex}.cart-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text-primary)}.cart-empty-state{text-align:center;padding:var(--space-10) var(--space-4);background-color:var(--color-surface-secondary);border-radius:var(--radius-xl);border:1px dashed var(--color-border-default)}.cart-empty-icon{margin-bottom:var(--space-3);font-size:3rem;display:inline-block}.cart-empty-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-primary);margin-bottom:var(--space-2)}.cart-empty-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-6)}.cart-items-list{gap:var(--space-3);flex-direction:column;display:flex}.cart-item-card{align-items:center;gap:var(--space-3);background-color:var(--color-surface-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-3);display:flex}.cart-item-img{border-radius:var(--radius-md);object-fit:cover;background-color:var(--color-surface-tertiary);flex-shrink:0;width:56px;height:56px}.cart-item-details{flex-grow:1;min-width:0}.cart-item-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;overflow:hidden}.cart-item-variant{font-size:var(--text-xs);color:var(--color-text-secondary)}.cart-item-addons{color:var(--color-text-tertiary);margin-top:2px;font-size:.6875rem}.cart-item-note{color:var(--color-brand-primary);margin-top:2px;font-size:.6875rem;font-style:italic}.cart-item-right{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.cart-item-price{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-brand-primary)}.cart-item-remove-btn{color:var(--color-error);font-size:var(--text-xs);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:2px 4px}.cart-item-remove-btn:hover{background-color:#c0392b1a}.cart-footer-summary{margin-top:var(--space-4);padding:var(--space-4);background-color:var(--color-surface-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle)}.cart-summary-row{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.whatsapp-checkout-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-6);background-color:var(--color-whatsapp);color:#fff;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-bold);border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border:none;text-decoration:none;display:inline-flex;box-shadow:0 4px 14px #25d36659}.whatsapp-checkout-btn:hover{background-color:var(--color-whatsapp-hover);transform:translateY(-1px);box-shadow:0 6px 18px #25d36673}.whatsapp-icon-svg{fill:currentColor;width:22px;height:22px}.nav-cart-badge{background-color:var(--color-brand-accent);color:var(--color-surface-dark);font-size:.6875rem;font-weight:var(--weight-bold);border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:18px;height:18px;padding-inline:4px;display:flex;position:absolute;top:-4px;right:-8px}.nav-cart-badge.hidden{display:none}.announcement-bar{padding:var(--space-2) var(--space-4);text-align:center;font-size:var(--text-sm);font-weight:var(--weight-medium);justify-content:center;align-items:center;gap:var(--space-2);display:flex}.announcement-promo{background-color:var(--color-brand-accent);color:var(--color-text-on-dark)}.announcement-info{background-color:var(--color-surface-secondary);color:var(--color-brand-primary);border-bottom:1px solid var(--color-border-subtle)}.announcement-warning{background-color:var(--color-error);color:var(--color-text-on-dark)}.hero-cta-btn{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-6);padding:var(--space-3) var(--space-8);background-color:var(--color-brand-primary);color:var(--color-text-on-dark);font-weight:var(--weight-semibold);border-radius:var(--radius-full);transition:transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast);text-decoration:none;display:inline-flex;box-shadow:0 4px 14px #3b24152e}.hero-cta-btn:hover{background-color:var(--color-brand-secondary);transform:translateY(-2px)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--content-max-width);padding-inline:var(--content-padding);margin-inline:auto}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-default) transparent}
