/* Mandaryna motion layer. Added last; motion never changes ordering behavior. */
:root { --motion-ease: cubic-bezier(.22,.72,.25,1); --motion-spring: cubic-bezier(.2,.85,.35,1.25); }

/* A visible response at every touch point. */
.category-tab,.subcategory,.company-category-card,.eden-plan-button,.secondary,.header-cart,.mobile-cart-bar,.quick-order-trigger {
  transition: background .23s ease, border-color .23s ease, color .23s ease, box-shadow .3s ease, transform .3s var(--motion-spring);
}
.category-tab { position:relative; display:inline-flex; align-items:center; gap:7px; }
.category-art { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; flex-shrink:0; transition:transform .4s var(--motion-spring); }
.category-art svg { width:21px; height:21px; }
.category-art img { width:25px; height:25px; object-fit:contain; }
.category-tab.selected .category-art { animation: category-picked .6s var(--motion-spring); }
.category-tab:active,.subcategory:active,.add-product:active,.eden-plan-button:active,.company-category-card:active,.quick-order-trigger:active { transform:scale(.96); }
.add-product { transition:transform .3s var(--motion-spring),background .23s,color .23s,box-shadow .23s; }
.add-product svg { transition:transform .35s var(--motion-spring); }
.product-selected { animation:selection-bloom .45s var(--motion-spring); }
.product-card { transform-origin:50% 80%; }
.product-card.product-just-added { animation:product-picked .6s var(--motion-ease); }
.product-enter { animation:product-rise .55s var(--motion-ease) both; animation-delay:var(--reveal-delay,0ms); }
.product-just-added .quantity-control { animation:quantity-bloom .45s var(--motion-spring); }
.delivery-progress i,.catalog-progress-track i { transition:width .7s var(--motion-ease); }
.delivery-progress i { position:relative; overflow:hidden; }
.delivery-progress i::after { content:''; position:absolute; top:0; bottom:0; left:-45%; width:35%; background:linear-gradient(90deg,transparent,#ffffffe0,transparent); animation:progress-glint 5s ease-in-out 3; }
.eden-plan-card.selected { animation:plan-selected .55s var(--motion-ease); }

/* Section arrivals are opt-in from a single IntersectionObserver. */
.motion-reveal { opacity:1; transform:none; }
.motion-ready .motion-reveal:not(.is-visible) { opacity:0; transform:translateY(24px); }
.motion-ready .motion-reveal { transition:opacity .7s ease,transform .7s var(--motion-ease); transition-delay:var(--reveal-delay,0ms); }
.motion-ready .motion-reveal.is-visible { opacity:1; transform:none; }

/* The orchard feels alive; motion stays behind readable copy. */
.eden-hero-copy > * { animation:hero-copy-in .8s var(--motion-ease) both; }
.eden-hero-copy > :nth-child(2) { animation-delay:100ms; }
.eden-hero-copy > :nth-child(3) { animation-delay:180ms; }
.eden-hero-copy > :nth-child(4) { animation-delay:260ms; }
.eden-hero-copy > :nth-child(5) { animation-delay:340ms; }
.eden-orchard-frame { animation:orchard-arrive 1s var(--motion-ease) both; }
.eden-orchard-photo { transform-origin:60% 60%; animation:orchard-breathe 16s ease-in-out 2 alternate; }
.eden-pick-badge { animation:pick-badge-drift 7s ease-in-out infinite; }
.eden-paper-label { transform-origin:50% 0; animation:paper-sway 9s ease-in-out infinite; }
.eden-eyebrow-leaf { animation:leaf-breathe 5s ease-in-out 4; }
.eden-button>span,.eden-business-link>span,.company-category-arrow,.eden-plan-button>span { transition:transform .3s var(--motion-spring); }

/* A product travels above the interface, then the destination celebrates. */
.flying-product { filter:drop-shadow(0 12px 8px #244a2940); transition:none; }
.cart-receiving { outline:2px solid #deb767; outline-offset:5px; box-shadow:0 0 0 8px #eabb5d20,0 12px 35px #244a2930; }
.basket-celebrate { animation:basket-catch .65s var(--motion-ease); }
.cart-arrival-label { position:fixed; z-index:10005; pointer-events:none; background:#f0c571; color:#244a30; padding:7px 13px; border:1px solid #deb767; border-radius:30px; box-shadow:0 5px 18px #244a2925; font-size:11px; font-weight:650; line-height:1.35; white-space:nowrap; animation:arrival-label 1.25s var(--motion-ease) forwards; }
.harvest-particle { position:fixed; z-index:10003; pointer-events:none; width:12px; height:8px; background:var(--particle-color,#8da954); border-radius:95% 0 95% 0; animation:harvest-scatter .75s ease-out forwards; transform-origin:center; }
.harvest-particle:nth-child(2n) { border-radius:50%; width:6px; height:6px; background:#e8b45d; }
.counter-pop { animation:count-pop .5s var(--motion-spring); }

/* Native dialogs retain focus trapping and dismissal. */
dialog[open] { animation:dialog-arrive .32s var(--motion-ease); }
dialog[open]::backdrop { animation:backdrop-arrive .25s ease; }
.ready-check { animation:selection-bloom .5s var(--motion-spring); }

@media(hover:hover) and (pointer:fine) {
  .category-tab:hover { transform:translateY(-3px); box-shadow:0 5px 12px #2a492613; }
  .category-tab:hover .category-art { transform:rotate(-12deg) scale(1.16); }
  .subcategory:hover { transform:translateY(-2px); }
  .add-product:hover { transform:rotate(7deg) scale(1.12); box-shadow:0 4px 12px #2b512826; }
  .add-product:hover svg { transform:rotate(90deg); }
  .product-card:hover .product-visual>img { transform:translateY(-5px) scale(1.1) rotate(-3deg); }
  .product-card .product-visual>img { transition:transform .6s var(--motion-spring); }
  .eden-button:hover>span,.eden-business-link:hover>span,.eden-plan-button:hover>span { transform:translateX(5px); }
  .company-category-card:hover .company-category-arrow { transform:translate(3px,-3px); }
  .company-category-card>img { transition:transform .5s var(--motion-spring); }
  .company-category-card:hover>img { transform:rotate(-7deg) scale(1.12); }
  .quality-item:hover>svg,.quality-item:hover>span>svg { animation:quality-greet .7s var(--motion-ease); }
}
@media(max-width:650px) {
  .category-art { width:20px; height:20px; }
  .category-art svg { width:19px; height:19px; }
  .category-art img { width:23px; height:23px; }
  .category-tab { gap:6px; min-height:39px; }
  .cart-arrival-label { font-size:10px; padding:6px 11px; }
  .motion-ready .motion-reveal:not(.is-visible) { transform:translateY(16px); }
}

@keyframes hero-copy-in { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }
@keyframes orchard-arrive { from{opacity:.3;transform:translateY(15px) scale(.97)} to{opacity:1;transform:none} }
@keyframes orchard-breathe { from{transform:scale(1)} to{transform:scale(1.075) translate(-.5%,.5%)} }
@keyframes pick-badge-drift { 0%,100%{transform:translateY(0) rotate(-11deg)} 50%{transform:translateY(-7px) rotate(-7deg)} }
@keyframes paper-sway { 0%,100%{transform:rotate(-6deg)} 50%{transform:rotate(-3deg) translateY(-3px)} }
@keyframes leaf-breathe { 0%,100%{transform:rotate(-26deg)} 50%{transform:rotate(-8deg) scale(1.1)} }
@keyframes category-picked { 0%{transform:scale(.7) rotate(-15deg)} 60%{transform:scale(1.2) rotate(7deg)} 100%{transform:none} }
@keyframes product-rise { from{opacity:0;transform:translateY(20px) scale(.98)} to{opacity:1;transform:none} }
@keyframes product-picked { 0%,100%{transform:none} 35%{transform:translateY(-5px) rotate(-.6deg);box-shadow:0 9px 26px #8b9e5d35} 65%{transform:translateY(0) rotate(.4deg)} }
@keyframes selection-bloom { 0%{transform:scale(0) rotate(-30deg)} 65%{transform:scale(1.25) rotate(8deg)} 100%{transform:none} }
@keyframes quantity-bloom { 0%{transform:scale(.85)} 65%{transform:scale(1.07)} 100%{transform:none} }
@keyframes basket-catch { 0%,100%{transform:translateY(0) scale(1)} 25%{transform:translateY(4px) scale(.96,1.02)} 55%{transform:translateY(-6px) scale(1.05,.98)} 80%{transform:translateY(1px) scale(1.01)} }
@keyframes arrival-label { 0%{opacity:0;transform:translate(-50%,10px) scale(.7)} 20%{opacity:1;transform:translate(-50%,-5px) scale(1)} 75%{opacity:1;transform:translate(-50%,-10px)} 100%{opacity:0;transform:translate(-50%,-24px)} }
@keyframes harvest-scatter { 0%{opacity:0;transform:translate(0,0) rotate(0) scale(.3)} 15%{opacity:1} 100%{opacity:0;transform:translate(var(--dx,35px),var(--dy,-45px)) rotate(var(--spin,130deg)) scale(.5)} }
@keyframes count-pop { 0%,100%{transform:scale(1)} 45%{transform:scale(1.45);background:#edbd65;color:#254a30} }
@keyframes progress-glint { 0%,45%{left:-45%} 80%,100%{left:110%} }
@keyframes plan-selected { 0%,100%{transform:scale(1)} 45%{transform:translateY(-5px) scale(1.015)} }
@keyframes dialog-arrive { from{opacity:0;transform:translateY(24px) scale(.97)} to{opacity:1;transform:none} }
@keyframes backdrop-arrive { from{opacity:0} to{opacity:1} }
@keyframes quality-greet { 0%,100%{transform:none} 35%{transform:rotate(-12deg) scale(1.12)} 70%{transform:rotate(8deg)} }

@media(prefers-reduced-motion:reduce) {html:not([data-motion="full"]){scroll-behavior:auto}html:not([data-motion="full"]) .motion-ready .motion-reveal,html:not([data-motion="full"]) .motion-ready .motion-reveal:not(.is-visible){opacity:1;transform:none;transition:none}html:not([data-motion="full"]) .eden-hero-copy>*,html:not([data-motion="full"]) .eden-orchard-frame,html:not([data-motion="full"]) .eden-orchard-photo,html:not([data-motion="full"]) .eden-pick-badge,html:not([data-motion="full"]) .eden-paper-label,html:not([data-motion="full"]) .eden-eyebrow-leaf,html:not([data-motion="full"]) .eden-sun,html:not([data-motion="full"]) .product-enter,html:not([data-motion="full"]) .product-just-added,html:not([data-motion="full"]) .product-selected,html:not([data-motion="full"]) .quantity-control,html:not([data-motion="full"]) .basket-item,html:not([data-motion="full"]) .basket-celebrate,html:not([data-motion="full"]) .counter-pop,html:not([data-motion="full"]) .eden-plan-card,html:not([data-motion="full"]) .category-tab .category-art,html:not([data-motion="full"]) .ready-check,html:not([data-motion="full"]) dialog[open],html:not([data-motion="full"]) dialog[open]::backdrop,html:not([data-motion="full"]) .delivery-progress i::after{animation:none!important}html:not([data-motion="full"]) .flying-product,html:not([data-motion="full"]) .harvest-particle,html:not([data-motion="full"]) .cart-arrival-label{display:none!important}html:not([data-motion="full"]) .category-tab,html:not([data-motion="full"]) .subcategory,html:not([data-motion="full"]) .company-category-card,html:not([data-motion="full"]) .eden-plan-button,html:not([data-motion="full"]) .secondary,html:not([data-motion="full"]) .header-cart,html:not([data-motion="full"]) .mobile-cart-bar,html:not([data-motion="full"]) .quick-order-trigger,html:not([data-motion="full"]) .add-product,html:not([data-motion="full"]) .add-product svg,html:not([data-motion="full"]) .product-visual>img,html:not([data-motion="full"]) .company-category-card>img,html:not([data-motion="full"]) .category-art,html:not([data-motion="full"]) .eden-button>span,html:not([data-motion="full"]) .eden-business-link>span,html:not([data-motion="full"]) .company-category-arrow,html:not([data-motion="full"]) .eden-plan-button>span,html:not([data-motion="full"]) .delivery-progress i,html:not([data-motion="full"]) .catalog-progress-track i{transition:none}html:not([data-motion="full"]) .category-tab:hover,html:not([data-motion="full"]) .subcategory:hover,html:not([data-motion="full"]) .add-product:hover,html:not([data-motion="full"]) .add-product:hover svg,html:not([data-motion="full"]) .category-tab:hover .category-art,html:not([data-motion="full"]) .product-card:hover .product-visual>img,html:not([data-motion="full"]) .company-category-card:hover>img,html:not([data-motion="full"]) .quality-item:hover>svg,html:not([data-motion="full"]) .quality-item:hover>span>svg{transform:none;animation:none}
}


/* The small list shortcut stays out of the shopping flow until requested. */
.quick-order-trigger{display:flex;width:100%;align-items:center;gap:10px;min-height:43px;padding:11px 14px;margin:0 0 19px;border:1px solid #d9e3c7;border-radius:12px;background:#eef2e1;color:#557246;font-size:10px;text-align:left}
.quick-order-trigger>svg{height:17px;width:17px;flex-shrink:0}
.quick-order-trigger>span{flex:1;min-width:0}
.quick-order-trigger>span:not(#quick-order-trigger-label){flex:0 0 18px}
.dock-preview[hidden]{display:none!important}
.basket-scene.cart-receiving{border-radius:28px}
#quick-order-dialog .template-actions button{border:1px solid #d9e3c7;border-radius:24px;padding:12px;background:#f1f4e6;font-size:10px}
#quick-order-dialog .template-actions button:disabled{opacity:.45;cursor:not-allowed}
.mobile-cart-bar:has(.dock-preview:not([hidden])) .dock-label>[data-icon]{display:none}
.quick-order-trigger strong{font-weight:600}
.quick-order-trigger:hover{background:#e2ebcf;border-color:#adc293}
#quick-order-dialog{width:min(580px,calc(100vw - 28px));max-width:580px}
#quick-order-dialog .quick-order-body{padding:20px 0 0}
#quick-order-dialog .quick-order-body>textarea{min-height:190px}
#quick-order-dialog .template-actions button{flex:1}
#quick-order-done{width:100%;margin-top:24px}
.category-tab .category-art{width:30px;height:30px}
.category-tab .category-art img{width:30px;height:30px;max-width:none}
.category-tab .category-label{font-size:10px;color:inherit;line-height:1.3}
.category-tab .category-count{font-size:8px;opacity:.7}

/* One consistently visible destination for every picked product. */
.mobile-cart-bar{position:fixed;display:flex;align-items:center;justify-content:space-between;gap:11px;left:auto;right:24px;bottom:22px;width:345px;max-width:calc(100vw - 28px);min-height:65px;padding:12px 17px;border:1px solid #557342;background:#254e30;border-radius:40px;color:#fffdf0;z-index:60;box-shadow:0 9px 28px #183c3040;opacity:1;visibility:visible;transform:none;transition:opacity .25s,visibility .25s,transform .35s var(--motion-spring),box-shadow .3s,background .25s}
.mobile-cart-bar.at-cart{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(100px)}
.mobile-cart-bar .dock-preview{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 62px;width:62px;height:38px;margin-right:0}
.dock-preview img{position:absolute;width:39px;height:39px;object-fit:contain;filter:drop-shadow(0 3px 2px #102d2240)}
.dock-preview img:nth-child(1){left:0;transform:rotate(-13deg);z-index:3}
.dock-preview img:nth-child(2){left:13px;top:-4px;z-index:2}
.dock-preview img:nth-child(3){left:27px;transform:rotate(13deg);z-index:1}
.mobile-cart-bar .dock-label{display:flex;align-items:center;gap:7px;flex:1;min-width:0;font-size:10px;white-space:nowrap}
.mobile-cart-bar #mobile-total{font-size:12px;white-space:nowrap;line-height:1.4}
.mobile-cart-bar>svg{flex:0 0 15px;width:15px;height:15px}
.mobile-cart-bar.cart-receiving{outline:2px solid #edc675;outline-offset:4px;box-shadow:0 0 0 8px #eabb5d26,0 12px 32px #244a2945}
.cart-feedback{position:fixed;right:31px;bottom:99px;width:300px;max-width:calc(100vw - 42px);display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;background:#fffdf1;border:1px solid #d6dfbf;color:#36532f;border-radius:18px;box-shadow:0 8px 26px #24472b20;z-index:61;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(13px) scale(.95);transform-origin:85% 100%;transition:opacity .22s,visibility .22s,transform .4s var(--motion-spring)}
.cart-feedback.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.cart-feedback>img{flex:0 0 46px;width:46px;height:46px;object-fit:contain;background:#f0f2e2;border-radius:12px}
.cart-feedback>div{min-width:0;flex:1}
.cart-feedback strong{font-size:12px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.5}
.cart-feedback small{font-size:9px;display:block;color:#7f9466;margin-top:3px;line-height:1.5}
.cart-feedback.visible>img{animation:feedback-product .5s var(--motion-spring)}
.cart-feedback>svg,.cart-feedback>span{flex:0 0 18px;width:18px;height:18px;color:#668647}.cart-feedback>div>span{display:block;font-size:9px;color:#889876;margin-top:2px;line-height:1.4}.cart-feedback small{font-size:8px;text-transform:uppercase;letter-spacing:.6px;margin:0 0 2px}.mobile-cart-bar>span:last-child{flex-shrink:0}.mobile-cart-bar>span:last-child svg{width:15px;height:15px}
@keyframes feedback-product{from{transform:translateY(7px) scale(.75) rotate(-13deg)}to{transform:none}}
@media(max-width:650px){
  .quick-order-trigger{font-size:10px;min-height:44px;padding:11px 12px;margin-bottom:16px}
  .category-tab .category-label{font-size:9px}
  .category-tab .category-count{font-size:7px}
  #quick-order-dialog .quick-order-body>textarea{min-height:180px}
  .mobile-cart-bar{left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto;max-width:none;min-height:62px;padding:11px 15px;gap:8px}
  .mobile-cart-bar .dock-label{font-size:10px;gap:5px}
  .mobile-cart-bar .dock-preview{flex-basis:53px;width:53px}
  .dock-preview img{width:35px;height:35px}
  .dock-preview img:nth-child(2){left:10px}
  .dock-preview img:nth-child(3){left:21px}
  .mobile-cart-bar #mobile-total{font-size:11px}
  .cart-feedback{right:21px;bottom:calc(85px + env(safe-area-inset-bottom));width:290px}
  .toast{bottom:calc(92px + env(safe-area-inset-bottom))}
}
@media(max-width:370px){.mobile-cart-bar .dock-preview{flex-basis:43px;width:43px}.dock-preview img{width:31px;height:31px}.dock-preview img:nth-child(2){left:7px}.dock-preview img:nth-child(3){left:14px}.mobile-cart-bar .dock-label{font-size:9px}.mobile-cart-bar #mobile-total{font-size:10px}.mobile-cart-bar{gap:6px;padding-inline:12px}.category-tab .category-art,.category-tab .category-art img{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]) .mobile-cart-bar,html:not([data-motion="full"]) .cart-feedback{transition:none}html:not([data-motion="full"]) .cart-feedback.visible>img{animation:none}}


/* Keyboard and touch have the same clear, immediate feedback as hover. */
.category-tab:focus-visible,.subcategory:focus-visible,.quick-order-trigger:focus-visible,.eden-plan-button:focus-visible,.company-category-card:focus-visible,.mobile-cart-bar:focus-visible,.header-cart:focus-visible{outline:3px solid #cb9d4f;outline-offset:4px;box-shadow:0 0 0 7px #e7c57d33}
.category-tab:focus-visible .category-art{transform:rotate(-9deg) scale(1.12)}
.product-card:focus-within{border-color:#8da567;box-shadow:0 0 0 2px #a8bb7f30}
.add-product:focus-visible{outline:3px solid #c99a47;outline-offset:3px;transform:scale(1.08)}
.category-tab:active .category-art,.add-product:active svg{transform:scale(.88) rotate(-10deg)}
.product-card:active .product-visual>img{transform:scale(1.04)}
.mobile-cart-bar:active,.header-cart:active,.eden-button:active{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]) .category-tab:focus-visible .category-art,html:not([data-motion="full"]) .add-product:focus-visible,html:not([data-motion="full"]) .category-tab:active .category-art,html:not([data-motion="full"]) .add-product:active svg,html:not([data-motion="full"]) .product-card:active .product-visual>img,html:not([data-motion="full"]) .mobile-cart-bar:active,html:not([data-motion="full"]) .header-cart:active,html:not([data-motion="full"]) .eden-button:active{transform:none}}

.shop-actions{display:flex;align-items:flex-end;flex-direction:column;gap:10px}.motion-toggle{display:inline-flex;align-items:center;gap:7px;color:#557246;font-size:10px;padding:8px 12px;border:1px solid #d9e3c7;border-radius:24px;background:#eef2e1}.motion-toggle svg{width:15px;height:15px}.motion-toggle[aria-pressed="true"]{background:#e9eedb}.motion-toggle:focus-visible{outline:2px solid #b88e41;outline-offset:3px}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion="off"] .motion-reveal{opacity:1!important;transform:none!important}
@media(max-width:650px){.shop-actions{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:10px}.motion-toggle{font-size:9px;padding:7px 10px}.shop-heading{flex-wrap:wrap}}
@media(max-width:650px){.category-tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#cad6b6 transparent;padding:3px 2px 9px;scroll-snap-type:x proximity}.category-tab{flex-shrink:0;scroll-snap-align:start}.mobile-cart-bar .dock-label{gap:6px}.mobile-cart-bar #mobile-count{min-width:18px;height:auto;padding:3px 5px;line-height:1.2}}
