/* Expiry awareness: three focused additions to the approved V2. */
.expiry-signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:25px;position:relative}
.expiry-signal{display:flex;align-items:center;gap:9px;padding:13px 10px;border:1px solid #8aa97240;background:linear-gradient(135deg,#dcecb214,#dcecb205);border-radius:10px;box-shadow:inset 0 1px #ffffff0a;min-width:0}
.expiry-signal strong,.expiry-signal small{display:block;line-height:1.4}.expiry-signal strong{font-size:10px;font-weight:600;color:#e1edc7}.expiry-signal small{font-size:9px;color:#adbf9b;margin-top:4px}.signal-icon{height:26px;width:26px;display:grid;place-items:center;background:#d6eaaa14;border:1px solid #bfd49533;color:#d3e7a9;border-radius:7px;font-size:17px;font-weight:500;flex-shrink:0}.expiry-signal.soon{border-color:#e7bb6455;background:linear-gradient(140deg,#e8b95b1f,#f2d19a09)}.expiry-signal.soon strong{color:#f5da99}.expiry-signal.soon small{color:#cbb888}.expiry-signal.soon .signal-icon{border-color:#eccb7840;background:#e8bb641c;color:#f8da91}.expiry-signal.expired{border-color:#dc917959;background:linear-gradient(135deg,#e6896827,#e4978510)}.expiry-signal.expired strong{color:#ffd0bb}.expiry-signal.expired small{color:#e3ac98}.expiry-signal.expired .signal-icon{background:#ee967021;border-color:#e69b794d;color:#ffd2bb}
.expiry-watch{position:relative;border-radius:17px;padding:22px 25px;background:linear-gradient(135deg,#ffffffef,#f7f4e9ed);border:1px solid #fff;box-shadow:0 18px 40px -27px #2c4b2e45,inset 0 1px #ffffff;min-width:0}.expiry-watch-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:17px}.expiry-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#627b4b;display:flex;align-items:center;gap:7px;margin-bottom:7px}.expiry-kicker>span[aria-hidden]{font-size:15px}.expiry-watch-heading h3{font-size:18px;font-weight:500;letter-spacing:-.025em;line-height:1.35;margin:0;max-width:650px}.expiry-example{font-size:9px;white-space:nowrap;color:#84917b;padding-top:3px}.expiry-attention-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.expiry-product{display:flex;align-items:center;gap:16px;padding:19px;border:1px solid #e7d6ad;border-radius:11px;background:linear-gradient(120deg,#fffaf0,#f7efdbe0);box-shadow:0 6px 13px -10px #8b723538}.expiry-product.expired{border-color:#e6c4b8;background:linear-gradient(120deg,#fff6f0,#f6e6dde0)}.expiry-product-info{flex:1;min-width:0}.expiry-product h4{font-size:14px;line-height:1.4;font-weight:600;margin:0 0 5px;color:#374735}.expiry-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:#7c826b;line-height:1.5;margin:0 0 11px}.expiry-meta>span:last-child{white-space:nowrap;color:#4f6245;font-weight:650}.expiry-product-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:11px}.expiry-date{font-size:11px;letter-spacing:.04em;color:#796542;position:relative;padding:3px 0;font-variant-numeric:tabular-nums}.expiry-status-chip{display:inline-flex;align-items:center;gap:6px;background:#f4e3b8;border:1px solid #dfc27c;color:#8c681f;border-radius:20px;padding:5px 9px;font-size:9px;font-weight:600;line-height:1.3}.expiry-status-chip:before{content:"";height:4px;width:4px;border-radius:50%;background:currentColor;flex-shrink:0}.expired .expiry-status-chip{background:#f3d5c6;color:#a3503a;border-color:#dda993}.expired .expiry-date{color:#94503e}.expiry-action{position:relative;display:flex;align-items:center;gap:7px;justify-content:space-between;font-size:10px;color:#90743c;border-top:1px solid #dccb9d80;padding-top:9px;line-height:1.5}.expiry-action>span[aria-hidden]:last-child{font-size:15px}.expired .expiry-action{color:#9b4b34;font-weight:650;border-color:#dfb6a080}.action-alert{height:15px;width:15px;display:grid;place-items:center;background:#bd70561a;border:1px solid #bd705660;border-radius:4px;font-size:10px;flex-shrink:0}.expiry-action>span[data-copy]{margin-right:auto}.expiry-product-icon{position:relative;flex-shrink:0;display:grid;place-items:center;width:42px;height:56px;box-shadow:5px 8px 10px -8px #66543870;transform:rotate(-6deg);background:linear-gradient(100deg,#d7ddc4,#f9fcf2 25%,#eaf0d9 80%,#bec9a9);border:1px solid #bec8a6;border-radius:5px 5px 12px 12px}.expiry-product-icon span{font-size:10px;border:1px solid #b8c8a2;border-radius:50%;width:31px;height:29px;display:grid;place-items:center;background:#e1eacccc;color:#67774d}.expiry-product-icon.yogurt{clip-path:polygon(0 0,100% 0,88% 100%,12% 100%);border-top:4px solid #a8b991;height:43px}.expiry-product-icon.milk{height:63px;border-radius:3px;transform:rotate(5deg);background:linear-gradient(95deg,#dae0df,#fff 35%,#e1e9e9 90%,#b6c7c7);border-color:#c3cdca;border-top:8px solid #93a9a8}.expiry-product-icon.milk span{border-color:#b6c9c5;background:#dae9e5cc;color:#58766d}.expiry-product-icon.milk:after{content:"";position:absolute;top:-11px;right:5px;width:8px;height:7px;border:1px solid #a2b7b1;background:#e6eeeb;border-radius:2px}
.expiry-exclusion{display:flex;align-items:center;gap:11px;position:relative;border:1px solid #db927155;background:linear-gradient(100deg,#d88b6e16,#c46b5209);padding:12px 13px;border-radius:10px;margin:17px -5px 3px;color:#e5b69f}.exclusion-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid #d9977459;border-radius:8px;color:#e4ae90;font-size:21px;flex-shrink:0}.expiry-exclusion>div{min-width:0;flex:1}.exclusion-record{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:10px}.exclusion-record time{color:#d6a98f;text-decoration:line-through;text-decoration-color:#cc896a99;font-variant-numeric:tabular-nums}.exclusion-record>span{color:#b9a18b}.exclusion-record strong{margin-left:auto;color:#e5b69e;border:1px solid #b4806433;background:#b87b5811;border-radius:20px;padding:3px 7px;font-size:9px;font-weight:500}.expiry-exclusion p{margin:6px 0 0;font-size:10px;line-height:1.5;color:#bfa992}
/* Each short sequence points from date to status to the action, without flashing. */
@keyframes expiry-reveal{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes expiry-date-line{0%{transform:scaleX(0);opacity:0}25%,75%{opacity:1}100%{transform:scaleX(1);opacity:0}}
@keyframes expiry-action-line{from{transform:scaleX(0);opacity:.4}to{transform:scaleX(1);opacity:1}}
@keyframes expiry-exclude{0%{transform:translateX(0)}40%{transform:translateX(-4px)}100%{transform:translateX(0)}}
.expiry-running .expiry-signal{animation:expiry-reveal .55s ease-out both}.expiry-running .expiry-signal:nth-child(2){animation-delay:.45s}.expiry-running .expiry-signal:nth-child(3){animation-delay:1s}
.expiry-date:after{content:"";position:absolute;height:2px;left:0;right:0;bottom:0;background:#bc9445;transform-origin:left;opacity:0}.expired .expiry-date:after{background:#b85e40}.expiry-running .expiry-date:after{animation:expiry-date-line 1.1s ease-out .15s both}.expiry-running .expiry-status-chip{animation:expiry-reveal .55s ease-out .85s both}.expiry-running .expiry-action{animation:expiry-reveal .6s ease-out 1.5s both}.expiry-action:after{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,#c5a15b,transparent);transform-origin:left;opacity:0}.expired .expiry-action:after{background:linear-gradient(90deg,#b76d50,transparent)}.expiry-running .expiry-action:after{animation:expiry-action-line .7s ease-out 1.5s both}.expiry-exclusion.expiry-running .exclusion-icon{animation:expiry-exclude .65s ease-out .4s both}
@media(min-width:1100px) and (hover:hover) and (pointer:fine){
 #store .chapter-inner{gap:20px;padding-top:27px;padding-bottom:27px}#store .section-copy h2{font-size:46px}#store .section-copy .lede{font-size:14px}#store .section-copy .eyebrow{margin-bottom:12px}#store .store-options{gap:14px}#store .store-options>div{min-height:137px;padding:17px 20px;transform:none}#store .store-options h3{font-size:20px;margin:2px 0}#store .store-options .v2-mini-demo{height:35px;margin-top:3px}#store .v2-wave{height:32px;transform:scaleY(.7)}#store .v2-mini-demo .v2-scanner{height:30px}#store .v2-form{gap:5px}#store .v2-form i{height:14px}#store .v2-form i:after{top:5px}#store .v2-data-rows{gap:3px}#store .v2-data-rows i{height:9px}
}
@media(min-width:1100px) and (max-height:780px){
 .horizontal .expiry-signals{margin-top:17px;gap:6px}.horizontal .expiry-signal{padding:10px 8px;gap:7px}.horizontal .expiry-signal strong{font-size:9px}.horizontal .expiry-signal small{font-size:8px}.horizontal .signal-icon{height:23px;width:23px;font-size:15px}.horizontal #store .chapter-inner{gap:14px;padding-top:22px;padding-bottom:22px}.horizontal #store .section-copy h2{font-size:39px}.horizontal #store .section-copy .lede{font-size:12px}.horizontal .expiry-watch{padding:16px 20px}.horizontal .expiry-watch-heading{margin-bottom:12px}.horizontal .expiry-watch-heading h3{font-size:16px}.horizontal .expiry-product{padding:13px 15px;gap:12px}.horizontal .expiry-meta{margin-bottom:7px}.horizontal .expiry-product-status{margin-bottom:8px}.horizontal #store .store-options>div{min-height:115px;padding:12px 16px}.horizontal #store .store-options h3{font-size:18px}.horizontal .expiry-exclusion{padding:10px 12px;margin-top:13px}.horizontal .fefo-board .fefo-row{margin-top:10px;padding-top:9px;padding-bottom:9px}.horizontal .fefo-board .fefo-total{margin-top:14px;padding-top:12px}
}
@media(max-width:1099px),(hover:none),(pointer:coarse){.expiry-signals{grid-template-columns:1fr;margin-top:22px;gap:7px}.expiry-signal{padding:10px 12px}.expiry-signal>div{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.expiry-signal small{margin-top:0}.expiry-watch{grid-column:1/-1}.expiry-watch-heading h3{font-size:20px}.expiry-watch-heading{gap:14px}.expiry-attention-list{gap:12px}.expiry-product{padding:16px;gap:12px}.expiry-product-icon{width:35px}.expiry-product-icon span{width:27px;font-size:9px}.expiry-product h4{font-size:13px}.expiry-meta{font-size:9px}.expiry-status-chip{font-size:8px}.expiry-exclusion{padding:12px}.exclusion-record strong{margin-left:0}}
@media(max-width:700px){.expiry-signals{margin-top:20px;gap:7px}.expiry-signal{border-radius:8px;padding:10px 12px}.expiry-signal strong{font-size:11px}.expiry-signal small{font-size:9px}.signal-icon{height:25px;width:25px}.expiry-signal>div{gap:8px}.expiry-watch{padding:22px 18px;border-radius:15px}.expiry-watch-heading{flex-direction:column;gap:10px;margin-bottom:18px}.expiry-watch-heading h3{font-size:21px;line-height:1.35}.expiry-kicker{font-size:9px}.expiry-example{font-size:9px}.expiry-attention-list{grid-template-columns:1fr;gap:12px}.expiry-product{padding:17px 13px;gap:13px;align-items:start}.expiry-product-icon{margin-top:12px;width:31px}.expiry-product-icon.milk{height:55px}.expiry-product-icon.yogurt{height:36px}.expiry-product-icon span{width:24px;height:24px;font-size:8px}.expiry-product h4{font-size:14px}.expiry-meta{align-items:start;font-size:9px;margin-bottom:8px}.expiry-product-status{gap:7px}.expiry-date{font-size:10px}.expiry-status-chip{font-size:9px;padding:5px 7px}.expiry-action{font-size:10px;line-height:1.5}.expiry-exclusion{gap:9px;padding:12px;margin-top:16px}.exclusion-record{gap:6px;font-size:10px}.exclusion-record strong{font-size:8px}.expiry-exclusion p{font-size:10px}.exclusion-icon{width:24px;height:24px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.expiry-running *,.expiry-running *:after{animation:none!important;opacity:1;transform:none}.expiry-date:after,.expiry-action:after{display:none}}
@media(max-width:1099px),(hover:none),(pointer:coarse){#store .chapter-inner{grid-template-columns:minmax(0,1fr)}#store .section-copy{max-width:100%}#store .store-options{grid-column:1/-1}}
