/* FIFO Fresh Pass – all styling scoped to our shortcode and account tab */
.fifo-fp-wrap{--fp-ink:#163b2a;--fp-light:#f4f8f4;--fp-border:#dce8de;--fp-soft:#66766d;font-family:inherit;color:var(--fp-ink);margin:18px 0;max-width:1160px}
.fifo-fp-wrap *{box-sizing:border-box}
.fifo-fp-wrap h2{font-size:clamp(23px,3vw,33px);line-height:1.15;color:var(--fp-ink);margin:.45rem 0 1rem;font-weight:750}
.fifo-fp-wrap h3{font-size:19px;color:var(--fp-ink);margin:0 0 1rem}
.fifo-fp-wrap p{line-height:1.55;color:#405448;margin:0 0 1rem}
.fifo-fp-panel{padding:clamp(22px,3vw,36px);border:1px solid var(--fp-border);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(16,60,32,.045)}
.fifo-fp-overline{color:#427a58;font-weight:800;font-size:11px;letter-spacing:.17em;text-transform:uppercase}
.fifo-fp-grid{display:grid;grid-template-columns:minmax(270px,1fr) minmax(265px,1.12fr);gap:18px;align-items:stretch}
.fifo-fp-card{background:radial-gradient(circle at 92% 9%,#347b50 0,#1c5637 42%,#123d29 100%);border-radius:20px;color:#fff;overflow:hidden;position:relative;box-shadow:0 12px 25px rgba(0,49,22,.16);padding:25px;min-height:307px}
.fifo-fp-card:after{content:"";position:absolute;right:-65px;top:-70px;border:30px solid rgba(255,255,255,.06);border-radius:50%;width:260px;height:260px;pointer-events:none}
.fifo-fp-cardtop{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}
.fifo-fp-cardtop strong{font-weight:950;font-size:28px;letter-spacing:-.08em;color:#fff}
.fifo-fp-cardtop span{font-size:12px;letter-spacing:.14em;font-weight:800;color:#d8f8df}
.fifo-fp-member-label{margin-top:26px;color:#bedac8;font-size:11px;text-transform:uppercase;letter-spacing:.11em}
.fifo-fp-member{font-size:20px;font-weight:650;color:#fff;line-height:1.3;margin:3px 0 12px}
.fifo-fp-barcode{background:#fff;padding:10px 7px;border-radius:9px;min-height:80px;text-align:center;display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative;z-index:1}
.fifo-fp-barcode svg{width:100%;height:66px}
.fifo-fp-code{font:600 12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:center;letter-spacing:.08em;margin:7px 0 22px;color:#f0f6eb}
.fifo-fp-cardfoot{display:flex;gap:10px;justify-content:space-between;align-items:end;font-size:10px;font-weight:700;letter-spacing:.04em;color:#d3e9da}
.fifo-fp-stat{display:inline-flex;flex-direction:column;background:var(--fp-light);border:1px solid var(--fp-border);border-radius:12px;padding:15px 20px;margin:0 8px 14px 0;min-width:150px}
.fifo-fp-stat strong{color:#194e31;font-size:27px;font-weight:850;line-height:1.1}
.fifo-fp-stat span{color:#547362;font-size:12px;margin-top:5px;line-height:1.4}
.fifo-fp-muted{font-size:12px;color:#6a7970;line-height:1.5}
.fifo-fp-btn{display:inline-flex!important;justify-content:center;align-items:center;text-decoration:none!important;border-radius:10px;padding:13px 18px;background:#246b40!important;color:#fff!important;font-weight:700;min-height:44px}
.fifo-fp-history{margin-top:18px}
.fifo-fp-history table{border-collapse:collapse;width:100%;font-size:14px;margin:0}
.fifo-fp-history th,.fifo-fp-history td{border:0;border-bottom:1px solid var(--fp-border);padding:13px 5px;text-align:left;color:#2c4033}
.fifo-fp-history td small{display:block;color:#718175;font-size:11px;margin-top:2px}
.fifo-fp-history .fifo-fp-number{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
@media(max-width:730px){.fifo-fp-grid{grid-template-columns:1fr}.fifo-fp-panel{padding:22px}.fifo-fp-card{min-height:285px}.fifo-fp-stat{min-width:130px}}
@media print{body *{visibility:hidden!important}.fifo-fp-card,.fifo-fp-card *{visibility:visible!important}.fifo-fp-card{position:absolute;top:10px;left:10px;box-shadow:none;width:430px!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Marketing enrolment panel: separate a free shopping account from paid Fresh Pass. */
.fifo-fp-join{max-width:1160px;margin:30px auto 48px;padding:0 20px;color:#153c2b;font-family:inherit}
.fifo-fp-join *{box-sizing:border-box}
.fifo-fp-join-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;background:#fff;border:1px solid #d5e7da;border-radius:20px;padding:28px;box-shadow:0 8px 24px rgba(25,76,41,.05)}
.fifo-fp-join-inner>div:first-child{max-width:650px}
.fifo-fp-join h2{color:#173f2c;font-size:clamp(22px,3vw,30px);margin:0 0 8px;line-height:1.16}
.fifo-fp-join p{color:#4b6656;margin:0 0 8px;line-height:1.55}
.fifo-fp-join .fifo-fp-join-eyebrow{color:#16834d;text-transform:uppercase;font-size:11px;letter-spacing:.13em;font-weight:850;margin:0 0 10px}
.fifo-fp-join-actions{display:flex;flex-direction:column;gap:9px;align-items:flex-start;min-width:260px}
.fifo-fp-join-link{background:#128049;border:0;border-radius:11px;color:#fff!important;display:inline-block;padding:13px 20px;font-family:inherit;font-size:15px;font-weight:700;line-height:1.35;text-decoration:none;cursor:pointer;white-space:normal;text-align:center}
.fifo-fp-join-link:disabled{opacity:.65;cursor:not-allowed;background:#627c6b}
.fifo-fp-join-secondary{color:#166c42;text-decoration:underline;font-weight:650}
.fifo-fp-join small{font-size:12px;color:#5e7164;max-width:285px;line-height:1.45}
@media(max-width:680px){.fifo-fp-join{padding:0 16px}.fifo-fp-join-inner{flex-direction:column;align-items:stretch;padding:20px}.fifo-fp-join-actions{min-width:0}.fifo-fp-join-link{white-space:normal;width:100%}}
