*{box-sizing:border-box;margin:0;padding:0}html{background-color:#dad7c8;height:100%}body{color:#403c3b;letter-spacing:.05rem;padding-top:var(--header-offset,90px);background-color:#dad7c8;background-image:linear-gradient(#fff 0% 20%,#dad7c8 80%);background-repeat:no-repeat;background-size:100% 100dvh;min-height:100dvh;font-family:Yu Gothic,YuGothic,游ゴシック体,Yu Gothic Medium,Yu Gothic UI,メイリオ,Meiryo,MS PGothic,MS UI Gothic,Helvetica,Arial,sans-serif;font-size:1rem;line-height:2}#root{min-height:calc(100vh - var(--header-offset,90px));min-height:calc(100dvh - var(--header-offset,90px));flex-direction:column;display:flex}.App{flex-direction:column;flex:1 0 auto;width:100%;min-height:100%;display:flex}.App>.footer,footer.footer{margin-top:auto}:root{--container-max:min(95vw, 1600px);--container-wide:var(--container-max);--container-standard:var(--container-max);--container-app:var(--container-max);--container-narrow:var(--container-max);--header-offset:90px;--header-compact-offset:64px;--header-brand-green:#1a3c34;--header-brand-green-mid:#2c5a4f;--brand-gold:#c0985d;--brand-gold-highlight:#e7c387;--brand-gold-deep:#a47a3e}.container{box-sizing:border-box;width:100%;max-width:100%;margin:0 auto;padding:0 20px}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;font-weight:600}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:1rem}a{color:#2c5a4f;text-decoration:none;transition:color .3s}a:hover{color:#1a3c34}.btn{color:#fff;cursor:pointer;text-align:center;background:#2c5a4f;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.btn:hover{background:#1a3c34;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-primary{background:#2c5a4f}.btn-primary:hover{background:#1a3c34}.btn-secondary{background:#6c757d}.btn-secondary:hover{background:#545b62}@media (width<=768px){body:not(:has(.header-compact)){padding-top:var(--header-offset,80px)}.container{padding:0 15px}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}h4{font-size:1.125rem}}@media (width<=480px){body:not(:has(.header-compact)){padding-top:var(--header-offset,70px)}.container{padding:0 10px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1rem}}@media (width>=1200px){.container{max-width:var(--container-standard);padding:0 20px}.container--wide{max-width:var(--container-wide)}.container--standard{max-width:var(--container-standard)}.container--app{max-width:var(--container-app)}.container--narrow{max-width:var(--container-narrow)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button:focus,input:focus,select:focus,textarea:focus,a:focus{outline-offset:2px;outline:2px solid #2c5a4f}.header{color:#fff;z-index:1000;background:linear-gradient(135deg,#1a3c34 0%,#2c5a4f 100%);flex-direction:column;align-items:stretch;width:100%;min-height:60px;padding:0;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 10px #0000001a}.header-bar{align-items:center;width:100%;padding:1rem 0;display:flex}.header .container{max-width:100%}.header-content{justify-content:center;align-items:center;width:100%;display:flex}.header .nav{flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;display:flex}.header .logo a{color:#fff;text-align:center;text-decoration:none}.header .logo h1{justify-content:center;align-items:center;margin-bottom:.1rem;font-size:1.6rem;font-weight:600;display:flex}.header .logo p{opacity:.9;font-size:.875rem}.header .nav-toggle{color:#fff;cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:1.5rem;display:none}.header .nav-menu{align-items:center;gap:2rem;display:flex}.header .nav-link{color:#fff;align-items:center;font-weight:500;text-decoration:none;transition:opacity .3s;display:flex}.header .nav-link:hover{opacity:.8}.header .tractor{z-index:-1;display:block;position:absolute;top:90%;left:-80px;transform:translateY(-50%)}.header .tractor-gif{border-radius:50%;width:80px;height:80px;animation:20s linear infinite header-drive}@keyframes header-drive{0%{transform:translateY(-50%)translate(0)}to{transform:translateY(-50%)translate(calc(100vw + 80px))}}.header .cart-btn{cursor:pointer;color:#fff;background:0 0;border:none;border-radius:50%;padding:.5rem;font-size:1.5rem;transition:all .3s;position:relative}.header .cart-btn:hover{background:#ffffff1a}.header .cart-badge{color:#fff;background:#f44;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.8rem;font-weight:700;display:flex;position:absolute;top:-5px;right:-5px}@media (width<=768px){.header:not(.header-compact){padding:.5rem 0}.header .logo h1{font-size:1.2rem}.header .logo p{margin-top:-.5rem;font-size:.7rem}.header .nav-toggle{display:block;position:absolute;top:15px;left:15px}.header .tractor{top:125%}.header .nav-menu{opacity:0;visibility:hidden;background:linear-gradient(135deg,#1a3c34 0%,#2c5a4f 100%);flex-direction:column;padding:1rem;transition:all .3s;position:absolute;top:100%;left:0;right:0;transform:translateY(-100%);box-shadow:0 4px 10px #0003}.header .nav-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.header .cart-icon{position:absolute;top:15px;right:15px}.header .nav-link{text-align:center;border-radius:5px;padding:.75rem;display:block}.header .nav-link:hover{background:#ffffff1a}}@media (width>=769px){.header-content{flex-direction:column}.header .nav{justify-content:center}.header .logo h1{margin-bottom:.1rem;font-size:2.5rem}.header .logo p{opacity:.9;margin-top:-1rem;font-size:1rem}.header .tractor{display:block}.header .cart-icon{position:absolute;top:15px;right:15px}}html:has(.header-compact){--header-offset:var(--header-compact-offset)}body:has(.header-compact){padding-top:var(--header-offset)}body.header-compact-menu-open{overflow:hidden}.header.header-compact{background-color:var(--header-brand-green);background-image:linear-gradient(135deg, var(--header-brand-green) 0%, var(--header-brand-green-mid) 100%);min-height:unset;box-shadow:none;flex-direction:column;align-items:stretch;padding:0;overflow:visible}.header-compact{min-height:0}.header-compact .container{width:100%;padding-top:.35rem;padding-bottom:.35rem;position:relative}.site-test-banner{color:#3d2e0a;text-align:center;background:#f4e6c3;border-top:1px solid #3d2e0a1f;width:100%;padding:.4rem 0;overflow:hidden}.site-test-banner-track{vertical-align:middle;align-items:center;gap:3rem;max-width:100%;display:inline-flex}.site-test-banner-text{letter-spacing:.02rem;white-space:nowrap;flex:none;margin:0;padding:0 .85rem;font-size:.8rem;font-weight:500;line-height:1.3}.site-test-banner-text--clone{display:none}.site-test-banner-text strong{font-weight:750}@media (width<=1100px){.site-test-banner-track{width:max-content;max-width:none;animation:28s linear infinite site-test-banner-marquee;display:flex}.site-test-banner-text--clone{display:block}.site-test-banner-text{padding:0;font-size:.75rem}}@media (prefers-reduced-motion:reduce){.site-test-banner-track{-webkit-overflow-scrolling:touch;max-width:100%;animation:none;overflow-x:auto}.site-test-banner-text--clone{display:none}}@keyframes site-test-banner-marquee{0%{transform:translate(0)}to{transform:translate(calc(-50% - 1.5rem))}}.header-compact-inner{align-items:center;gap:.5rem;width:100%;min-height:3rem;display:flex;position:relative}.header-compact-toggle{color:#fff;cursor:pointer;z-index:5;background:0 0;border:none;flex-shrink:0;padding:.4rem .5rem;font-size:1.4rem;line-height:1;display:none;position:relative}.header-compact-brand{color:#fff;z-index:3;flex-shrink:1;align-items:center;gap:.65rem;min-width:0;max-width:min(48vw,420px);text-decoration:none;display:flex;position:relative}.header-compact-flag-wrap{background-color:var(--header-brand-green);border-radius:2px;flex-shrink:0;width:70px;height:46px;display:block;overflow:hidden}.header-compact-flag{object-fit:cover;object-position:center;width:100%;height:100%;transform:scale(1.12)}.header-compact-name{letter-spacing:.02rem;color:#fff;min-width:0;font-size:.95rem;font-weight:600;line-height:1.15}.header-compact-name-full{white-space:nowrap;text-overflow:clip;display:block;overflow:visible}.header-compact-name-short{white-space:nowrap;display:none}.header-compact-stage{z-index:0;pointer-events:none;position:absolute;inset:0 min(38vw,34rem) 0 min(48vw,420px);overflow:hidden}.header-compact-tractor{animation:18s linear infinite header-compact-drive;position:absolute;top:50%;left:-48px;transform:translateY(-50%)}.header-compact-tractor-gif{opacity:.9;border-radius:50%;width:40px;height:40px;display:block}@keyframes header-compact-drive{0%{left:-48px}to{left:calc(100% + 8px)}}@media (prefers-reduced-motion:reduce){.header-compact-tractor{animation:none;display:none}}.header-compact-nav{z-index:1;flex-wrap:nowrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:.2rem;min-width:0;margin-left:auto;display:flex;position:relative}.header-compact-link{color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(5px);background:#1a3c342e;border:none;border-radius:6px;padding:.3rem .4rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:background .2s,opacity .2s}.header-compact-link:hover{opacity:1;background:#2c5a4f59}.header-compact-cart{cursor:pointer;color:#fff;z-index:5;background:0 0;border:none;border-radius:50%;flex-shrink:0;margin-left:1rem;padding:.35rem;font-size:1.35rem;transition:background .2s;position:relative}.header-compact-cart:hover{background:#ffffff1a}.header-compact-backdrop{display:none}@media (width<=1200px){.header-compact-toggle{display:block}.header-compact-stage{display:none}.header-compact-brand{flex:1;justify-content:center;max-width:none}.header-compact-nav{background:linear-gradient(135deg, var(--header-brand-green) 0%, var(--header-brand-green-mid) 100%);opacity:0;visibility:hidden;pointer-events:none;z-index:20;border-radius:0 0 10px 10px;flex-direction:column;flex:none;justify-content:flex-start;align-items:stretch;gap:.2rem;padding:.6rem;transition:opacity .2s,visibility .2s,transform .2s;position:absolute;top:calc(100% + .35rem);left:0;right:0;transform:translateY(-.5rem);box-shadow:0 8px 24px #00000047}.header-compact-nav.active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.header-compact-link{text-align:center;-webkit-backdrop-filter:none;background:0 0;border-radius:6px;width:100%;padding:.75rem .85rem;font-size:1rem;display:block}.header-compact-link:hover,.header-compact-link:focus-visible{background:#ffffff1f}.header-compact-backdrop{inset:0;top:var(--header-offset);z-index:15;cursor:pointer;background:#00000059;border:none;margin:0;padding:0;display:block;position:fixed}}@media (width<=768px){.header-compact-flag-wrap{width:56px;height:38px}.header-compact-flag{transform:scale(1.1)}.header-compact-name{font-size:.9rem}.header-compact-name-full{display:none}.header-compact-name-short{display:block}.header-compact-inner{gap:.4rem}}@media (width<=480px){.header-compact-flag-wrap{width:48px;height:32px}.header-compact-name{font-size:.8rem}.header-compact-toggle,.header-compact-cart{padding:.3rem;font-size:1.25rem}}@media (width>=1201px){.header-compact-flag-wrap{width:78px;height:52px}.header-compact-flag{transform:scale(1.15)}.header-compact-name{font-size:1.05rem}.header-compact-brand{max-width:min(44vw,480px)}.header-compact-stage{left:min(44vw,480px)}.header-compact-nav{justify-content:center;gap:.4rem}.header-compact-link{padding:.32rem .5rem;font-size:.86rem}.header-compact-tractor-gif{width:44px;height:44px}}@media (width>=1400px){.header-compact-name{font-size:1.12rem}.header-compact-link{padding:.35rem .6rem;font-size:.9rem}}.hero{color:#fff;text-align:center;z-index:1;background-position:50%;background-repeat:no-repeat;background-size:cover;margin-top:-1px;padding:calc(6rem + 1px) 0 6rem;position:relative}.hero-content h2{text-shadow:0 2px 12px #0006;margin-bottom:0;font-size:3rem;font-weight:600;line-height:1.2}.page-lead{text-align:center;color:#1a3c34;white-space:nowrap;max-width:100%;margin:1.25rem auto 1rem;font-size:.95rem;font-weight:600;line-height:1.35}@media (width<=768px){.hero{padding:calc(3.5rem + 1px) 0 3.5rem}.hero-content h2{font-size:2rem}.page-lead{letter-spacing:.02rem;margin:1rem auto .85rem;padding:0 .25rem;font-size:.82rem}}@media (width<=480px){.hero{padding:calc(2.75rem + 1px) 0 2.75rem}.hero-content h2{font-size:1.75rem}.page-lead{white-space:normal;margin:.85rem auto .75rem;font-size:.78rem}}@media (prefers-contrast:high){.btn{border:2px solid}.category-card{border:2px solid #333}}.schedule-modal-overlay{background:#00000080;justify-content:center;align-items:center;display:flex;z-index:10000!important;position:fixed!important;inset:0!important}.schedule-modal{background:#fff;border-radius:12px;width:92%;max-width:520px;max-height:90vh;padding:1.5rem;overflow-y:auto;box-shadow:0 8px 32px #0003}.farm-modal-overlay{box-sizing:border-box;background:#00000080;justify-content:center;align-items:center;padding:1.5rem;z-index:10000!important;display:flex!important;position:fixed!important;inset:0!important}.farm-modal-box{background:#fff;border-radius:15px;flex-direction:column;width:100%;max-width:560px;max-height:calc(100vh - 3rem);display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.farm-modal-box--desktop{width:min(1100px,100vw - 3rem);max-width:min(1100px,100vw - 3rem);height:min(820px,100vh - 3rem);max-height:min(820px,100vh - 3rem)}.farm-modal-body--view{grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr);align-items:start;gap:1.75rem;display:grid}.farm-modal-body--edit{padding-bottom:1rem}.farm-modal-box--desktop .farm-detail-section{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.farm-modal-box--desktop .farm-modal-image{border-radius:10px;width:100%;max-width:100%}.farm-modal-box--desktop .farm-detail-copy p{margin:0 0 .65rem;line-height:1.45}.farm-modal-aside{background:#f6f7f5;border-radius:12px;flex-direction:column;gap:1.25rem;padding:1rem 1.1rem;display:flex}.farm-modal-aside h4{margin:0 0 .4rem}.farm-modal-box--desktop .farm-products-section{border-top:0;margin-top:0;padding-top:0}.farm-modal-box--desktop .form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.farm-modal-box--desktop .form-group{margin-bottom:1rem}.farm-modal-box--desktop .form-group>label{color:#1a3c34;margin-bottom:.4rem;font-weight:600;display:block}.farm-modal-box--desktop .form-group input,.farm-modal-box--desktop .form-group select,.farm-modal-box--desktop .form-group textarea{box-sizing:border-box;border:2px solid #e1e5e9;border-radius:8px;width:100%;max-width:100%;padding:.65rem .75rem}.farm-option-panels{gap:1rem;margin:.25rem 0 1.25rem;display:grid}.farm-option-panel{background:#f7f8f6;border:1px solid #dfe4e1;border-radius:12px;min-width:0;margin:0;padding:.85rem 1rem 1rem}.farm-option-panel legend{color:#1a3c34;letter-spacing:.06em;text-transform:uppercase;padding:0 .35rem;font-size:.78rem;font-weight:700}.farm-option-panel .checkbox-group{flex-wrap:wrap;gap:.45rem;margin:0;display:flex}.farm-option-panel .checkbox-label{color:#2c3a36;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d5dbd6;border-radius:999px;align-items:center;gap:.4rem;margin:0;padding:.35rem .65rem;font-size:.86rem;font-weight:500;display:inline-flex}.farm-option-panel .checkbox-label:has(input:checked){color:#1a3c34;background:#e8efe9;border-color:#1a3c34}.farm-option-panel .checkbox-label input[type=checkbox]{accent-color:#1a3c34;flex-shrink:0;width:.9rem;height:.9rem;margin:0}.farm-modal-box--desktop .farm-form-section-title{color:#1a3c34;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #e2e6e3;margin:1.5rem 0 .75rem;padding-bottom:.4rem;font-size:.95rem;font-weight:700}.farm-modal-footer{background:#fff;border-top:1px solid #e9ecef;flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}@media (width<=800px){.farm-modal-box--desktop{width:100%;height:auto;max-height:calc(100vh - 2rem)}.farm-modal-body--view,.farm-modal-box--desktop .farm-detail-section,.farm-modal-box--desktop .form-row{grid-template-columns:1fr}}.farm-modal-header{background:#fff;border-bottom:1px solid #e9ecef;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.farm-modal-title{color:#1a3c34;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1.3rem;overflow:hidden}.farm-modal-close{color:#333;cursor:pointer;background:#e9ecef;border:1px solid #dee2e6;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:1.75rem;font-weight:300;line-height:1;display:flex}.farm-modal-close:hover{color:#1a3c34;background:#dee2e6}.farm-modal-body{flex:1;min-height:0;padding:1.5rem;overflow-y:auto}.farm-modal-body .farm-detail-section{margin-bottom:1rem}.farm-modal-body .farm-modal-image{border-radius:8px;max-width:200px;height:auto;margin-bottom:.5rem}.farm-modal-body .farm-modal-actions{gap:.75rem;margin:1rem 0;display:flex}.farm-modal-body .farm-products-section{border-top:1px solid #eee;margin-top:1rem;padding-top:1rem}.farm-modal-body .farm-products-section h4{margin:0 0 .5rem}.farm-modal-body .farm-products-list{margin:0;padding:0;list-style:none}.farm-modal-body .farm-products-list li{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:.35rem 0;display:flex}.product-modal-overlay{box-sizing:border-box;background:#00000080;justify-content:center;align-items:center;padding:1rem;z-index:10000!important;display:flex!important;position:fixed!important;inset:0!important}.product-modal-box{background:#fff;border-radius:15px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.product-form-modal-box{flex-direction:column;display:flex;overflow:hidden;width:100%!important;max-width:min(920px,96vw)!important;max-height:calc(100vh - 1.5rem)!important}.product-form-modal-overlay .product-modal-header{padding:.7rem 1rem!important}.product-form-modal-overlay .product-modal-title{font-size:1.1rem!important}.product-form-modal-body{overflow-y:auto;padding:.65rem 1rem .85rem!important}.product-form-modal-body .product-form-layout{grid-template-columns:1fr;gap:.15rem 1rem;display:grid}.product-form-modal-body .form-group{margin-bottom:.45rem!important}.product-form-modal-body .form-row{grid-template-columns:1fr 1fr;gap:.55rem .75rem;display:grid;margin-bottom:.2rem!important}.product-form-modal-body .form-group label{line-height:1.25;margin-bottom:.2rem!important;font-size:.85rem!important}.product-form-modal-body .form-group input,.product-form-modal-body .form-group select,.product-form-modal-body .form-group textarea{padding:.45rem .55rem!important;font-size:.9rem!important}.product-form-modal-body .form-actions{gap:.5rem;padding-top:.55rem;margin-top:.25rem!important}.product-form-modal-body .farm-contact-email-hint{font-size:.75rem;line-height:1.3;margin:0 0 .35rem!important}.product-form-modal-body .product-form-field-label{color:#333;margin-bottom:.2rem;font-size:.85rem;font-weight:600;line-height:1.25;display:block}.product-form-modal-body .checkbox-label{white-space:normal;align-items:flex-start;gap:.45rem;min-height:2.2rem;padding:.4rem 0;line-height:1.3;margin-bottom:0!important;font-size:.85rem!important;font-weight:500!important}.product-form-modal-body .checkbox-label span{display:block}.product-form-modal-body .field-hint{color:#5c6b66;margin-top:.15rem;font-size:.72rem;font-weight:400;line-height:1.3;display:block}@media (width>=768px){.product-form-modal-body .product-form-layout{grid-template-columns:1.05fr .95fr;align-items:start}.product-form-modal-body .product-form-layout__full{grid-column:1/-1}}@media (width<=640px){.product-form-modal-body .form-row{grid-template-columns:1fr}}.recipe-form-modal-overlay{overflow-y:auto;align-items:flex-start!important;padding:1rem 1.25rem!important}.recipe-form-modal-box{flex-direction:column;margin:1rem auto;width:100%!important;max-width:min(1180px,98vw)!important;max-height:none!important;display:flex!important;overflow:hidden!important}.recipe-form-modal-box .product-modal-header{z-index:1;background:#fff;flex-shrink:0;position:sticky;top:0}.recipe-form-modal-body{max-height:calc(100vh - 5.5rem);padding:1.35rem 1.75rem 1.75rem!important;overflow-y:auto!important}.recipe-form__row{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.recipe-form__row--meta{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-form__split{grid-template-columns:1.15fr .85fr;align-items:start;gap:1rem;margin-bottom:.25rem;display:grid}@media (width<=900px){.recipe-form__row--meta{grid-template-columns:1fr 1fr}.recipe-form__split{grid-template-columns:1fr}}@media (width<=640px){.recipe-form__row,.recipe-form__row--meta{grid-template-columns:1fr}}.product-modal-header{border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.product-modal-title{color:#1a3c34;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1.3rem;overflow:hidden}.product-modal-close{color:#333;cursor:pointer;background:#e9ecef;border:1px solid #dee2e6;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:1.75rem;display:flex}.product-modal-close:hover{color:#1a3c34;background:#dee2e6}.product-modal-body{padding:1.5rem}.auth-loading{text-align:center;color:#1a3c34;flex-direction:column;justify-content:center;align-items:center;min-height:40vh;padding:2rem;display:flex}.auth-loading .spinner{border:3px solid #e9ecef;border-top-color:#1a3c34;border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.stat-subtext{color:#666;margin:.25rem 0 0;font-size:.85rem}.toast-container{z-index:2000;flex-direction:column;gap:.65rem;max-width:min(380px,100vw - 2rem);display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.toast{color:#1a1a1a;background:#fff;border:1px solid #d8e0dc;border-radius:12px;align-items:flex-start;gap:.75rem;padding:1rem 1.1rem 1rem 1rem;font-size:.92rem;animation:.28s ease-out toast-in;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 32px #1a3c3429}.toast-accent{background:#1a3c34;width:4px;position:absolute;top:0;bottom:0;left:0}.toast--success .toast-accent{background:linear-gradient(#1a3c34 0%,#2c5a4f 70%,#c0985d 70% 100%)}.toast--error .toast-accent{background:#b33a3a}.toast--info .toast-accent{background:#4a6fa5}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast--error{color:#6b2424;background:#fff8f8;border-color:#ecd6d6}.toast--success{color:#1a3c34;background:#fff}.toast--info{color:#243b55;background:#f7f9fc;border-color:#d5dde8}.toast-icon{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;margin-top:.15rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.toast--success .toast-icon{color:#fff;background:#1a3c34}.toast--error .toast-icon{color:#fff;background:#b33a3a}.toast--info .toast-icon{color:#fff;background:#4a6fa5}.toast-body{flex:1;min-width:0;padding-top:.05rem}.toast-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#2c5a4f;margin:0 0 .2rem;font-size:.68rem;font-weight:700}.toast--error .toast-eyebrow{color:#922}.toast--info .toast-eyebrow{color:#4a6fa5}.toast-title{color:#1a3c34;margin:0 0 .25rem;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:400;line-height:1.25}.toast--error .toast-title{color:#6b2424}.toast--info .toast-title{color:#243b55}.toast-message{color:#5c6b66;margin:0;font-size:.88rem;font-weight:400;line-height:1.45}.toast--error .toast-message{color:#8a4545}.toast--info .toast-message{color:#4a5d73}.toast-dismiss{cursor:pointer;color:#5c6b66;opacity:.55;background:0 0;border:none;margin:-.1rem -.15rem 0 0;padding:.1rem .15rem;font-size:1.2rem;line-height:1}.toast-dismiss:hover{opacity:1;color:#1a3c34}.brand-confirm-overlay{z-index:12000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1a3c3473;justify-content:center;align-items:center;padding:1.25rem;animation:.18s ease-out brand-confirm-fade;display:flex;position:fixed;inset:0}@keyframes brand-confirm-fade{0%{opacity:0}to{opacity:1}}.brand-confirm{background:#fffef9;border:1px solid #1a3c341f;border-radius:14px;width:min(420px,100%);padding:1.35rem 1.45rem 1.25rem;animation:.22s ease-out brand-confirm-rise;position:relative;overflow:hidden;box-shadow:0 18px 48px #1a3c3438}@keyframes brand-confirm-rise{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.brand-confirm-accent{background:linear-gradient(#1a3c34 0%,#c9a227 100%);width:4px;position:absolute;top:0;bottom:0;left:0}.brand-confirm--danger .brand-confirm-accent{background:linear-gradient(#8b3a3a 0%,#c9a227 100%)}.brand-confirm-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#1a3c34;margin:0 0 .35rem;font-size:.72rem;font-weight:600}.brand-confirm--danger .brand-confirm-eyebrow{color:#8b3a3a}.brand-confirm-title{color:#1a3c34;margin:0 0 .5rem;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:400;line-height:1.25}.brand-confirm--danger .brand-confirm-title{color:#6b2424}.brand-confirm-message{color:#5c6b66;margin:0 0 1.25rem;font-size:.92rem;line-height:1.5}.brand-confirm-prompt{flex-direction:column;gap:.4rem;margin:-.35rem 0 1.25rem;display:flex}.brand-confirm-prompt-label{color:#1a3c34;font-size:.8rem;font-weight:600}.brand-confirm-prompt-input{box-sizing:border-box;color:#1a3c34;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #d7e0dc;border-radius:10px;padding:.55rem .75rem;font-size:.92rem}.brand-confirm-prompt-input:focus{outline-offset:1px;border-color:#1a3c34;outline:2px solid #1a3c3440}.brand-confirm-prompt-input--area{resize:vertical;min-height:88px;line-height:1.45}.brand-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.brand-confirm-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;min-height:42px;padding:.55rem 1.1rem;font-size:.92rem;font-weight:600}.brand-confirm-btn--ghost{color:#1a3c34;background:#fff;border-color:#d7e0dc}.brand-confirm-btn--ghost:hover{background:#f3f7f5}.brand-confirm-btn--primary{color:#fffef9;background:#1a3c34}.brand-confirm-btn--primary:hover{background:#143029}.brand-confirm-btn--danger{color:#fffef9;background:#8b3a3a}.brand-confirm-btn--danger:hover{background:#6b2424}.checkout-validation-panel{color:#640;background:#fff8e6;border:1px solid #f0c040;border-radius:8px;margin-bottom:1rem;padding:1rem 1.25rem}.checkout-validation-panel ul{margin:.5rem 0 0;padding-left:1.25rem}.checkout-validation-panel li{margin-bottom:.35rem}.product-image-placeholder{color:#1a3c34;background:#e9ecef;justify-content:center;align-items:center;width:100%;height:100%;min-height:160px;font-size:2.5rem;font-weight:600;display:flex}.farm-shop-link{color:#1a3c34;text-underline-offset:2px;font-weight:600;text-decoration:underline}.farm-shop-link:hover{color:#0f2a24}.checkout-order-summary{background:#f8f9fa;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.checkout-order-summary h2{color:#1a3c34;margin:0 0 1rem}.checkout-order-summary-hint{color:#555;margin:0 0 1rem;font-size:.9rem}.checkout-order-summary-group{margin-bottom:1.25rem}.checkout-order-summary-farm{color:#1a3c34;align-items:center;gap:.5rem;min-width:0;margin:0;font-weight:600;display:flex}.checkout-farm-avatar{box-sizing:border-box;background:#1a3c34;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:1.85rem;height:1.85rem;position:relative;overflow:hidden;box-shadow:0 1px 4px #0000002e}.checkout-farm-avatar img{z-index:1;object-fit:cover;width:100%;height:100%;display:block;position:relative}.checkout-farm-avatar-initial{color:#fff;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;line-height:1;display:flex;position:absolute;inset:0}.checkout-order-summary-farm-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.checkout-fulfilment-control{flex-shrink:0}.checkout-fulfilment-select{color:#1a3c34;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:.35rem .5rem;font-size:.85rem}.checkout-fulfilment-badge{color:#1a3c34;white-space:nowrap;background:#e8f5e8;border-radius:6px;padding:.25rem .5rem;font-size:.85rem;display:inline-block}.checkout-order-summary-hint--mixed{background:#f0f7ff;border-left:3px solid #1a3c34;border-radius:6px;padding:.5rem .75rem}.checkout-group-delivery--collection{color:#555;font-style:italic}.checkout-item-fulfilment-badge{color:#555;background:#eef2f0;border-radius:4px;width:fit-content;padding:.1rem .4rem;font-size:.75rem;display:inline-block}.checkout-item-method-select{width:fit-content;max-width:100%;padding:.25rem .4rem;font-size:.8rem}.checkout-split-notice{color:#640;background:#fff8e6;border-radius:6px;margin:0 0 .75rem;padding:.5rem .65rem;font-size:.85rem}.checkout-split-section{border-left:3px solid #e0ebe6;margin-bottom:.75rem;padding-left:.25rem}.checkout-split-heading{color:#1a3c34;margin:0 0 .35rem;font-size:.9rem;font-weight:600}.checkout-split-empty{color:#666;margin:0 0 .35rem;font-size:.85rem;font-style:italic}.checkout-flexible-picker{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.checkout-flexible-picker label{color:#555}.checkout-payment-count{text-align:right;color:#666;margin:.5rem 0 0;font-size:.85rem}.checkout-min-order-note{border-radius:6px;margin:.35rem 0 0;padding:.45rem .6rem;font-size:.85rem;line-height:1.35}.checkout-min-order-note--warn{color:#640;background:#fff8e6;border-left:3px solid #f0c040}.checkout-min-order-note--ok{color:#1a3c34;background:#f0f7f4}.checkout-summary-item{border-bottom:1px solid #eee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.65rem 0;font-size:.95rem;display:flex}.checkout-summary-item-main{flex-direction:column;flex:1;gap:.15rem;min-width:0;max-width:100%;display:flex}.checkout-summary-item-name{color:#1a3c34;-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-weight:500;display:-webkit-box;overflow:hidden}.checkout-summary-item-farm{color:#666;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.checkout-summary-item-unit{color:#666;font-size:.85rem}.checkout-stock-badge{color:#555;margin-top:.15rem;font-size:.8rem;display:block}.checkout-stock-badge--warn{color:#b45309;font-weight:600}.checkout-summary-item-controls{align-items:center;gap:.75rem;display:flex}.checkout-qty{align-items:center;gap:.35rem;display:flex}.checkout-qty-btn{cursor:pointer;color:#1a3c34;background:#fff;border:1px solid #ddd;border-radius:5px;width:28px;height:28px;font-size:1rem;line-height:1}.checkout-qty-btn:hover:not(:disabled){background:#e8f5e8;border-color:#1a3c34}.checkout-qty-btn:disabled{opacity:.45;cursor:not-allowed}.checkout-qty-value{text-align:center;min-width:1.5rem;font-weight:600}.checkout-summary-item-total{text-align:right;min-width:4rem;font-weight:600}.checkout-summary-remove{color:#c33;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.15rem .35rem;font-size:1.25rem;line-height:1}.checkout-summary-remove:hover{background:#fee}.checkout-group-subtotal,.checkout-group-delivery{text-align:right;margin:.25rem 0 0;font-size:.9rem}.checkout-group-subtotal{font-weight:600}.checkout-group-delivery{color:#555}.checkout-order-summary-totals{border-top:2px solid #ddd;margin-top:.5rem;padding-top:1rem}.checkout-total-row{justify-content:space-between;margin-bottom:.5rem;display:flex}.checkout-total-row--grand{border-top:2px solid #1a3c34;margin-top:1rem;margin-bottom:0;padding-top:1rem;font-size:1.2rem;font-weight:600}@media (width<=768px){.checkout-summary-item-controls{justify-content:flex-end;width:100%}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,#eceae4 0%,#f7f6f2 45%,#eceae4 90%) 0 0/200% 100%;border-radius:12px;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-hero{min-height:220px;margin-bottom:1.5rem}.skeleton-hero--compact{min-height:160px}.skeleton-line{height:14px;margin-bottom:.75rem}.skeleton-map{width:100%;min-height:420px}.map-section--placeholder .map-placeholder{position:relative}.map-placeholder-label{text-align:center;color:#5a6b64;margin:0;font-size:.95rem;position:absolute;inset:auto 0 1.25rem}.page-skeleton-body{max-width:720px;margin:0 auto;padding:2rem 1.25rem 3rem}.route-page-skeleton{min-height:50vh}.shop-page-skeleton .shop-skeleton-grid{max-width:var(--container-wide);box-sizing:border-box;grid-template-columns:210px 1fr;gap:1.25rem;width:100%;margin:0 auto;padding:1.25rem min(20px,2vw) 2.5rem;display:grid}.shop-skeleton-products{flex-direction:column;gap:1rem;display:flex}.skeleton-sidebar{min-height:420px}.skeleton-toolbar{height:48px}.shop-skeleton-cards{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.skeleton-product-card{min-height:260px}@media (width<=1099px){.shop-skeleton-cards{grid-template-columns:repeat(3,1fr)}}@media (width<=767px){.shop-skeleton-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=1023px){.shop-page-skeleton .shop-skeleton-grid{grid-template-columns:1fr}.skeleton-sidebar{min-height:120px}}.session-bootstrap-skeleton{min-height:100vh;padding-top:var(--header-offset,90px)}.skeleton-header-bar{height:60px;margin-bottom:2rem}.farms-page-skeleton .farms-skeleton-body{max-width:100%;padding:2rem 20px 3rem}.farms-skeleton-title{max-width:420px;height:2rem;margin:0 auto 2rem}.farms-skeleton-carousel{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.skeleton-farm-card{border-radius:12px;min-height:320px}.seller-dashboard-skeleton .seller-skeleton-body{padding:1.25rem 20px 3rem}.skeleton-dashboard-header{border-radius:15px;min-height:120px;margin-bottom:1.5rem}.seller-skeleton-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.skeleton-tab{border-radius:8px;width:120px;height:44px}.skeleton-panel{border-radius:12px;min-height:280px}.checkout-skeleton-body,.account-skeleton-body{padding:2rem 20px 3rem}.checkout-skeleton-grid,.account-skeleton-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.5rem;display:grid}@media (width<=768px){.farms-skeleton-carousel{grid-template-columns:repeat(2,1fr)}.checkout-skeleton-grid,.account-skeleton-grid{grid-template-columns:1fr}}
