:root{--ease-enter: cubic-bezier(.16, 1, .3, 1);--ease-exit: cubic-bezier(.43, .13, .23, .96);--ease-standard: ease;--dur-micro: .1s;--dur-short: .18s;--dur-moderate: .24s;--dur-panel: .34s;--dur-reveal: .52s;--dur-stagger: 60ms;--dur-micro-rm: 0ms;--dur-short-rm: 0ms;--dur-moderate-rm: 0ms;--dur-panel-rm: 0ms;--dur-fade-rm: 80ms}@media(prefers-reduced-motion:reduce){:root:not([data-animations=on]) *,:root:not([data-animations=on]) *:before,:root:not([data-animations=on]) *:after{animation-duration:0ms!important;animation-iteration-count:1!important;transition-duration:var(--dur-fade-rm)!important;transition-delay:0ms!important;scroll-behavior:auto!important}:root:not([data-animations=on]) [data-reveal],:root:not([data-animations=on]) [data-reveal=stagger]>*,:root:not([data-animations=on]) .toast-item{opacity:1!important;transform:none!important;filter:none!important;transition:opacity var(--dur-fade-rm) ease!important}:root:not([data-animations=on]) .modal-backdrop,:root:not([data-animations=on]) .modal-panel,:root:not([data-animations=on]) .cookie-banner,:root:not([data-animations=on]) .drawer-overlay,:root:not([data-animations=on]) .drawer,:root:not([data-animations=on]) .mobile-menu,:root:not([data-animations=on]) .mobile-menu-overlay,:root:not([data-animations=on]) .sidebar-overlay,:root:not([data-animations=on]) .sidebar,:root:not([data-animations=on]) :focus-visible{transition:none!important}}:root[data-animations=off] *,:root[data-animations=off] *:before,:root[data-animations=off] *:after{animation-duration:0ms!important;animation-iteration-count:1!important;transition-duration:var(--dur-fade-rm)!important;transition-delay:0ms!important;scroll-behavior:auto!important}:root[data-animations=off] [data-reveal],:root[data-animations=off] [data-reveal=stagger]>*,:root[data-animations=off] .toast-item{opacity:1!important;transform:none!important;filter:none!important;transition:opacity var(--dur-fade-rm) ease!important}:root[data-animations=off] .modal-backdrop,:root[data-animations=off] .modal-panel,:root[data-animations=off] .cookie-banner,:root[data-animations=off] .drawer-overlay,:root[data-animations=off] .drawer,:root[data-animations=off] .mobile-menu,:root[data-animations=off] .mobile-menu-overlay,:root[data-animations=off] .sidebar-overlay,:root[data-animations=off] .sidebar,:root[data-animations=off] :focus-visible{transition:none!important}.js [data-reveal]:not([data-reveal=stagger]){opacity:0;transform:translateY(28px);filter:blur(6px);transition:opacity var(--dur-reveal) var(--ease-enter),transform var(--dur-reveal) var(--ease-enter),filter var(--dur-reveal) var(--ease-enter)}.js [data-reveal].reveal-visible{opacity:1;transform:translateY(0);filter:blur(0)}.js [data-reveal=stagger]>*{opacity:0;transform:translateY(22px);filter:blur(4px);transition:opacity var(--dur-reveal) var(--ease-enter),transform var(--dur-reveal) var(--ease-enter),filter var(--dur-reveal) var(--ease-enter)}.js [data-reveal=stagger].reveal-visible>*{opacity:1;transform:translateY(0);filter:blur(0)}[data-reveal=stagger].reveal-visible>*:nth-child(1){transition-delay:0ms}[data-reveal=stagger].reveal-visible>*:nth-child(2){transition-delay:var(--dur-stagger)}[data-reveal=stagger].reveal-visible>*:nth-child(3){transition-delay:calc(var(--dur-stagger) * 2)}[data-reveal=stagger].reveal-visible>*:nth-child(4){transition-delay:calc(var(--dur-stagger) * 3)}[data-reveal=stagger].reveal-visible>*:nth-child(5){transition-delay:calc(var(--dur-stagger) * 4)}[data-reveal=stagger].reveal-visible>*:nth-child(6){transition-delay:calc(var(--dur-stagger) * 5)}[data-reveal=stagger].reveal-visible>*:nth-child(7){transition-delay:calc(var(--dur-stagger) * 6)}[data-reveal=stagger].reveal-visible>*:nth-child(8){transition-delay:calc(var(--dur-stagger) * 7)}[data-reveal=stagger].reveal-visible>*:nth-child(9){transition-delay:calc(var(--dur-stagger) * 8)}[data-reveal=stagger].reveal-visible>*:nth-child(10){transition-delay:calc(var(--dur-stagger) * 9)}[data-reveal=stagger].reveal-visible>*:nth-child(11){transition-delay:calc(var(--dur-stagger) * 10)}[data-reveal=stagger].reveal-visible>*:nth-child(12){transition-delay:calc(var(--dur-stagger) * 11)}[data-reveal=stagger].reveal-visible>*:nth-child(n+13){transition-delay:calc(var(--dur-stagger) * 12)}@media(hover:hover)and (pointer:fine){.btn,.card,.panel,.dash-panel,.farm-card,.listing-card,.sidebar-link,.dropdown-item,.filter-pill,.badge,.nav-links a,.mobile-nav-link,.locale-toggle a,.pill,.save-btn,.cart-pill,.notif-pill,.profile-btn,.theme-toggle,.sidebar-icon-btn,.locale-btn,.btn-icon{transition:background-color var(--dur-short) var(--ease-standard),border-color var(--dur-short) var(--ease-standard),color var(--dur-short) var(--ease-standard),transform var(--dur-short) var(--ease-enter)}.card:hover,.panel:hover,.dash-panel:hover,.farm-card:hover,.listing-card:hover{border-color:var(--accent);transform:translateY(-4px)}.btn:hover{transform:translateY(-2px)}.sidebar-link:hover,.dropdown-item:hover{background:var(--canvas)}.filter-pill:hover:not(.is-active){background:var(--borders)}.locale-toggle a:hover{color:var(--accent)}.pill:hover{border-color:var(--accent)}.save-btn:hover,.cart-pill:hover,.notif-pill:hover,.profile-btn:hover,.sidebar-icon-btn:hover,.locale-btn:hover{background:var(--canvas)}}@media(hover:hover)and (pointer:fine){.btn:active,.filter-pill:active,.card:active,.sidebar-link:active,.save-btn:active,.cart-pill:active,.notif-pill:active,.profile-btn:active,.theme-toggle:active,.sidebar-icon-btn:active,.locale-btn:active,.btn-icon:active{transform:scale(.98);transition:transform var(--dur-micro) var(--ease-enter)}}.form-control.is-invalid,.form-select.is-invalid{animation:shake var(--dur-short) var(--ease-exit)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.modal-backdrop{position:fixed;inset:0;background:#1a1c1e59;opacity:0;pointer-events:none;transition:opacity var(--dur-short) var(--ease-enter);z-index:1050}.modal-backdrop.show{opacity:1;pointer-events:auto}.modal-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.98);background:var(--paper);border:1px solid var(--borders);border-radius:0;opacity:0;max-width:90vw;max-height:85vh;overflow:auto;transition:transform var(--dur-moderate) var(--ease-enter),opacity var(--dur-moderate) var(--ease-enter);z-index:1055}.modal-panel.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.drawer-overlay{position:fixed;inset:0;background:#1a1c1e59;opacity:0;pointer-events:none;transition:opacity var(--dur-short) var(--ease-enter);z-index:999}.drawer-overlay.visible{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:var(--paper);border-left:1px solid var(--borders);transform:translate(100%);transition:transform var(--dur-panel) var(--ease-enter);z-index:1000;display:flex;flex-direction:column}.drawer.open{transform:translate(0)}.mobile-menu{position:fixed;top:0;left:0;bottom:0;width:min(300px,85vw);background:var(--canvas);border-right:1px solid var(--borders);transform:translate(-100%);transition:transform var(--dur-panel) var(--ease-enter);z-index:1001}.mobile-menu.is-open{transform:translate(0)}.mobile-menu-overlay{position:fixed;inset:0;background:#1a1c1e59;opacity:0;pointer-events:none;transition:opacity var(--dur-short) var(--ease-enter);z-index:1000}.mobile-menu-overlay.visible{opacity:1;pointer-events:auto}.sidebar-overlay{position:fixed;inset:0;background:#1a1c1e59;opacity:0;pointer-events:none;transition:opacity var(--dur-short) var(--ease-enter);z-index:998}.sidebar-overlay.visible{opacity:1;pointer-events:auto}.sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;background:var(--canvas);border-right:1px solid var(--borders);transform:translate(-100%);transition:transform var(--dur-panel) var(--ease-enter);z-index:999}.sidebar.is-open{transform:translate(0)}#toast-region{position:fixed;top:24px;right:24px;display:flex;flex-direction:column;gap:8px;pointer-events:none;z-index:1060}.toast-item{display:flex;align-items:center;gap:8px;max-width:28rem;padding:12px 16px;background:var(--paper);border:1px solid var(--borders);border-radius:0;color:var(--text);font-size:.95rem;opacity:0;transform:translateY(8px);pointer-events:auto}.toast-item.toast-visible{opacity:1;transform:translateY(0);transition:opacity var(--dur-short) var(--ease-enter),transform var(--dur-short) var(--ease-enter)}.toast-item.toast-exiting{opacity:0;transform:translateY(-4px);transition:opacity var(--dur-short) var(--ease-exit),transform var(--dur-short) var(--ease-exit)}.toast-item{border-left:3px solid var(--borders)}.toast-item.toast-success{border-left-color:var(--success)}.toast-item.toast-error{border-left-color:var(--danger)}.toast-item.toast-info{border-left-color:var(--muted)}.toast-item .bi{font-size:1rem;line-height:1;flex:none}.toast-item.toast-success .bi{color:var(--success)}.toast-item.toast-error .bi{color:var(--danger)}.toast-item.toast-info .bi{color:var(--muted)}.toast-message{min-width:0}.cookie-banner{position:fixed;bottom:0;left:0;right:0;padding:14px 16px;background:var(--paper);border:0!important;border-top:1px solid var(--borders)!important;z-index:1070;opacity:0;transform:translateY(16px);visibility:hidden;transition:opacity var(--dur-moderate) var(--ease-enter),transform var(--dur-moderate) var(--ease-enter),visibility 0s linear var(--dur-moderate)}.cookie-banner.show{opacity:1;transform:translateY(0);visibility:visible;transition-delay:0s}.cookie-banner__content{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px 16px;max-width:1440px;margin:0 auto}.cookie-banner__actions .btn{padding:.5rem 1.25rem!important;font-size:.875rem}.cookie-banner__actions{display:flex;align-items:center;gap:8px}.cookie-banner .cookie-banner__decline{border:1px solid var(--danger)!important;color:var(--danger)!important;background:var(--paper)!important}.cookie-banner .cookie-banner__decline:hover,.cookie-banner .cookie-banner__decline:focus-visible{background:var(--danger)!important;border-color:var(--danger)!important;color:var(--paper)!important}.locale-toggle .locale-label{display:inline-block;opacity:0;transform:translateY(6px);transition:opacity var(--dur-micro) var(--ease-enter),transform var(--dur-micro) var(--ease-enter)}.locale-toggle .locale-label.active{opacity:1;transform:translateY(0)}.skeleton-loader{background:linear-gradient(90deg,var(--borders) 25%,var(--canvas-deep) 50%,var(--borders) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton-loader{animation:none;background:var(--borders)}}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}html[data-animations=on]{scroll-behavior:smooth}@media(prefers-reduced-motion:no-preference){html:not([data-animations=off]){scroll-behavior:smooth}}.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;padding:.75rem 1rem;background:var(--primary);color:var(--paper);font-weight:600;text-decoration:none;border-radius:var(--radius-sm);transition:top .2s ease}.skip-link:focus{top:1rem}
