:root{--bg-canvas:#fbfbfa;--bg-surface:#fff;--bg-surface-alt:#f4f7f3;--bg-accent-light:#f0fdf4;--bg-highlight:#fffbeb;--primary:#1e3f20;--primary-hover:#163118;--primary-light:#2d5830;--primary-subtle:#e8f3e9;--accent-citrus:#e76f51;--accent-citrus-hover:#d55d3e;--accent-citrus-light:#fdf0ec;--accent-gold:#f59e0b;--accent-gold-light:#fef3c7;--badge-organic-bg:#dcfce7;--badge-organic-text:#166534;--badge-sale-bg:#fee2e2;--badge-sale-text:#991b1b;--badge-farm-bg:#fef3c7;--badge-farm-text:#92400e;--text-main:#142016;--text-secondary:#485e4c;--text-muted:#7e9382;--text-inverse:#fff;--border-subtle:#e4ece3;--border-strong:#c8d7c7;--border-focus:#1e3f20;--shadow-sm:0 1px 3px #1324150a, 0 1px 2px #13241505;--shadow-md:0 4px 14px #1324150f, 0 1px 3px #13241508;--shadow-lg:0 12px 30px #13241514, 0 4px 10px #13241508;--shadow-drawer:-10px 0 40px #0e1c1029;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-pill:9999px;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ease-spring:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:var(--bg-canvas);color:var(--text-main);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-canvas);min-height:100vh;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-surface-alt)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes pulseSubtle{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .3s var(--ease-spring) forwards}.animate-slide-in{animation:slideInRight .35s var(--ease-spring) forwards}@keyframes flipAnnouncement{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.top-flip-banner{color:#fff;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#112613 0%,#193d1b 50%,#112613 100%);border-bottom:1px solid #ffffff14;align-items:center;height:34px;display:flex;position:relative;overflow:hidden}.top-flip-container{justify-content:center;align-items:center;width:100%;max-width:1320px;height:100%;margin:0 auto;padding:0 16px;display:flex}.pulse-dot{vertical-align:middle;background-color:#e76f51;border-radius:50%;width:6px;height:6px;margin-right:5px;animation:1.4s ease-in-out infinite pulseDot;display:inline-block}.top-flip-content-wrap{cursor:pointer;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.top-flip-item{color:#fff;text-align:center;white-space:nowrap;justify-content:center;align-items:center;gap:8px;font-size:clamp(11.5px,2.6vw,13px);font-weight:600;animation:.35s cubic-bezier(.16,1,.3,1) forwards flipAnnouncement;display:inline-flex}.top-flip-badge{color:#a7f3d0;letter-spacing:.5px;text-transform:uppercase;background:#ffffff29;border:1px solid #ffffff38;border-radius:4px;flex-shrink:0;align-items:center;padding:2px 7px;font-size:10px;font-weight:800;display:inline-flex}.top-flip-text{color:#f0fdf4;letter-spacing:-.1px}.header-logo-badge{background-color:#fff;border:1.5px solid #1665342e;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;transition:all .2s;display:flex;overflow:hidden;box-shadow:0 2px 8px #1222140f}.header-logo-img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=600px){.header-logo-badge{border-radius:10px;width:44px;height:44px}}@media (width<=480px){.top-flip-item{gap:6px;font-size:11px}.top-flip-badge{padding:1.5px 5px;font-size:9px}}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input{font-family:inherit}.nav-container{justify-content:space-between;align-items:center;gap:12px;max-width:1320px;margin:0 auto;display:flex}@media (width<=520px){.header-brand-text{display:none}}@media (width<=480px){.top-banner-right,.location-pill-text-small{display:none!important}}.hero-layout-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);align-items:center;gap:40px;display:grid}.hero-main-title{color:var(--text-main);letter-spacing:-1px;margin-bottom:16px;font-size:clamp(28px,5vw,44px);font-weight:800;line-height:1.15}.hero-perks-container{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(3,1fr);gap:16px;width:100%;padding-top:24px;display:grid}.hero-farmer-card{background:linear-gradient(135deg,#f0fdf4 0%,#fff 65%,#f4fbf6 100%);border:1.5px solid #16653429;border-radius:16px;grid-template-columns:140px 1fr;align-items:center;gap:16px;width:100%;margin-top:20px;margin-bottom:24px;padding:14px;display:grid;box-shadow:0 4px 16px #1222140d}.farmer-photo-box{border-radius:12px;flex-shrink:0;width:100%;height:120px;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000014}.farmer-photo-img{object-fit:cover;width:100%;height:100%;display:block}.farmer-photo-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#a7f3d0;background:#122214e0;border-radius:6px;align-items:center;gap:4px;padding:2px 7px;font-size:9.5px;font-weight:700;display:inline-flex;position:absolute;bottom:6px;left:6px}.farmer-info-content{flex-direction:column;gap:4px;display:flex}.farmer-tag-pill{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:5px;font-size:10px;font-weight:800;display:inline-flex}.farmer-name-heading{color:var(--text-main);font-size:15px;font-weight:800;line-height:1.25}.farmer-story-text{color:var(--text-secondary);font-size:12px;line-height:1.45}.farmer-perks-row{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.farmer-perk-pill{color:#166534;background:#fff;border:1px solid #16653426;border-radius:6px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}@media (width<=540px){.hero-farmer-card{grid-template-columns:105px 1fr;gap:12px;padding:12px}.farmer-photo-box{height:110px}.farmer-name-heading{font-size:13.5px}.farmer-story-text{font-size:11px;line-height:1.4}}@media (width<=400px){.hero-farmer-card{grid-template-columns:1fr;gap:10px}.farmer-photo-box{height:140px}}@media (width<=920px){.hero-layout-grid{grid-template-columns:1fr;gap:32px}}@media (width<=600px){.hero-perks-container{grid-template-columns:1fr;gap:12px}}.product-catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}@media (width<=1100px){.product-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}@media (width<=680px){.product-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card-body{padding:10px!important}.product-card-title{font-size:13px!important;line-height:1.25!important}.product-card-price{font-size:15px!important}.product-card-unit{font-size:11px!important}}.modal-layout-grid{grid-template-columns:minmax(280px,1fr) minmax(340px,1.2fr);display:grid;overflow-y:auto}@media (width<=768px){.modal-layout-grid{grid-template-columns:1fr}.modal-image-col{min-height:220px!important;max-height:260px!important}.modal-content-col{padding:20px 18px!important}}.mobile-cart-float-bar{display:none}@media (width<=840px){.mobile-cart-float-bar{bottom:max(16px, env(safe-area-inset-bottom,16px));z-index:50;background-color:var(--primary);color:#fff;border-radius:var(--radius-pill);cursor:pointer;animation:fadeIn .25s var(--ease-spring);border:1px solid #ffffff26;justify-content:space-between;align-items:center;padding:12px 20px;display:flex;position:fixed;left:16px;right:16px;box-shadow:0 8px 24px #14241559}body.has-cart-items{padding-bottom:74px}}.footer-links-grid{grid-template-columns:minmax(280px,1.4fr) repeat(3,minmax(180px,1fr));gap:40px;margin-bottom:40px;display:grid}@media (width<=900px){.footer-links-grid{grid-template-columns:repeat(2,1fr);gap:30px}}@media (width<=540px){.footer-links-grid{grid-template-columns:1fr;gap:24px}}
