/* Where the shopper is: labels on cards and product pages, and the location sheet. */
.ew-i{width:12px;height:12px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ew-tag{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;width:max-content;max-width:100%;margin:2px 0 4px;padding:2px 7px;border-radius:6px;font-size:10px;line-height:1.4;font-weight:800;letter-spacing:.03em;white-space:nowrap}
.ew-tag.t-tom{background:#FFF1C7;color:#7A4E00}
.ew-tag.t-pick{background:#E1EDF8;color:#1F4F78}
.ew-tag.t-no{background:#FDECE8;color:#9B2C17}
.ew-tag.t-loc{background:#F2F3F0;color:#2E3A2B}
.ew-rep{position:absolute;right:6px;top:6px;z-index:2;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:#E7F5DF;color:#1F6B2E;pointer-events:none}
.ew-rep .ew-i{width:15px;height:15px}
.wc-block-components-product-image,.wp-block-woocommerce-product-image{position:relative}
.ew-off{opacity:.72}
.ew-shade{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-end;justify-content:center;padding:8px;background:rgba(255,255,255,.7);pointer-events:none}
.ew-shade span{padding:4px 8px;border-radius:8px;background:#14210F;color:#FFFFFF;font-size:10px;font-weight:800;letter-spacing:.04em;text-align:center}
.ew-off .wp-block-woocommerce-product-button,.ew-off .wc-block-components-product-button,.ew-off .ad,.ew-off .st,.ew-off .pns-add,.ew-off .pns-step,.ew-off .gl-addc{display:none!important}
.ew-whybtn{align-self:flex-start;height:32px;margin-top:6px;padding:0 14px;border-radius:9px;border:1.5px solid #CFD8C8;background:#FFFFFF;color:#4A5546;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
/* product page */
.ew-box{display:flex;gap:10px;align-items:flex-start;margin:12px 0;padding:12px;border-radius:16px;font-size:13px;line-height:1.45}
.ew-box>.ew-i{width:20px;height:20px;margin-top:1px}
.ew-box b{display:block;font-size:14.5px}
.ew-box.ok{background:#E7F5DF;color:#134A1E}
.ew-box.pick{background:#E1EDF8;color:#1F3B52}
.ew-box.no{background:#FDECE8;color:#7A2414}
.ew-box.unk{background:#F6F7F4;color:#2E3A2B;border:1.5px dashed #CFD8C8}
.ew-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ew-acts button{height:34px;padding:0 12px;border-radius:10px;border:1.5px solid currentColor;background:#FFFFFF;color:inherit;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
body.ew-blocked .gl-product .gl-buy,body.ew-blocked .gl-product .wp-block-add-to-cart-form,body.ew-blocked .gl-product .gl-pbar{display:none!important}
/* How often? (product page) */
.er{display:grid;gap:10px;margin:12px 0}
.er-lab{font-size:12.5px;font-weight:800;color:#2E3A2B}
.er-sw{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px;border-radius:16px;background:#F2F3F0}
.er-sw .ind{position:absolute;top:4px;bottom:4px;left:calc(4px + var(--x,0) * (100% - 8px) / 4);width:calc((100% - 8px) / 4);border-radius:12px;background:#FFFFFF;border:1.5px solid #1F6B2E;transition:left .32s cubic-bezier(.65,0,.35,1)}
.er-sw button{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 2px;border:0;background:none;font:inherit;font-size:13px;font-weight:800;color:#4A5546;cursor:pointer;transition:color .3s ease}
.er-sw button small{font-size:10px;font-weight:700;color:#6B7166}
.er-sw button[aria-checked="true"]{color:#1F6B2E}
.er-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.er-days button,.er-dates button{height:38px;border-radius:10px;border:1.5px solid #D3E0EE;background:#FFFFFF;font:inherit;font-size:12px;font-weight:800;color:#4A5546;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s cubic-bezier(.34,1.56,.64,1)}
.er-days button:active,.er-dates button:active{transform:scale(.92)}
.er-days button[aria-pressed="true"],.er-dates button[aria-pressed="true"]{background:#1F6B2E;border-color:#1F6B2E;color:#FFFFFF}
.er-days button:disabled{border-style:dashed;background:transparent;color:#A3ADB8;cursor:not-allowed}
.er-dates{display:flex;gap:6px;flex-wrap:wrap}
.er-dates button{width:46px;height:44px}
.er-info{display:flex;gap:10px;padding:10px 12px;border-radius:14px;background:#F4FAEE;font-size:12.5px;line-height:1.45;color:#2E3A2B}
.er-info b{display:block;font-size:13.5px;color:#14210F}
.er-info.once{background:#F6F7F4}
.er-add{height:50px;border:0;border-radius:14px;background:#318616;color:#FFFFFF;font:inherit;font-size:15px;font-weight:800;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
.er-add:active{transform:scale(.98)}
body.er-on .gl-product .gl-buy,body.er-on .gl-product .gl-pbar{display:none!important}
.er-add:focus-visible,.er-sw button:focus-visible,.er-days button:focus-visible,.er-dates button:focus-visible{outline:2px solid #1F6B2E;outline-offset:2px}
/* the sheet */
html.ew-locked{overflow:hidden}
.ew-sheet{position:fixed;inset:0;z-index:100000;visibility:hidden;font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:#14210F}
.ew-sheet.on{visibility:visible}
.ew-bg{position:absolute;inset:0;background:rgba(20,33,15,.45);opacity:0;transition:opacity .3s cubic-bezier(.65,0,.35,1)}
.ew-sheet.on .ew-bg{opacity:1}
.ew-panel{position:absolute;left:0;right:0;bottom:0;display:grid;gap:12px;max-height:92vh;overflow:auto;padding:20px 16px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#FFFFFF;transform:translateY(100%);transition:transform .38s cubic-bezier(.65,0,.35,1)}
.ew-sheet.on .ew-panel{transform:none}
.ew-panel h2{margin:0;padding-right:40px;font-size:20px;line-height:1.25;font-weight:800}
.ew-lead,.ew-hint,.ew-priv{margin:0;font-size:12.5px;line-height:1.45;color:#4A5546}
.ew-priv{font-size:11.5px;color:#6B7166}
.ew-why{margin:0;padding:10px 12px;border-radius:12px;background:#FFF8E6;color:#6B4A12;font-size:13px;line-height:1.45}
.ew-x{position:absolute;right:12px;top:12px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:12px;background:#F2F3F0;color:#14210F;cursor:pointer}
.ew-x .ew-i{width:18px;height:18px}
.ew-gps{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:0;border-radius:16px;background:#14210F;color:#FFFFFF;font:inherit;text-align:left;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
.ew-gps:active{transform:scale(.98)}
.ew-gps.busy{opacity:.7}
.ew-gps .ew-i.g{width:24px;height:24px;color:#C6E89A}
.ew-gps b{display:block;font-size:14.5px}
.ew-gps small{font-size:12px;color:#C6E89A}
.ew-pinf{display:flex;gap:8px;align-items:stretch}
.ew-lf{position:relative;flex:1;display:block}
.ew-lf input{display:block;width:100%;height:50px;padding:0 14px;border:1.5px solid #CFD8C8;border-radius:14px;background:#FFFFFF;font:inherit;font-size:16px;color:#14210F;outline:none;box-shadow:none;transition:border-color .2s ease}
.ew-lf>span{position:absolute;left:10px;top:15px;padding:0 5px;background:#FFFFFF;font-size:15px;color:#6B7166;pointer-events:none;transform-origin:left center;transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .2s ease}
.ew-lf input:focus{border-color:#1F6B2E}
.ew-lf input:focus+span,.ew-lf input:not(:placeholder-shown)+span{transform:translateY(-25px) scale(.8);color:#1F6B2E;font-weight:700}
.ew-pinf button{flex:0 0 auto;height:50px;padding:0 18px;border:0;border-radius:14px;background:#F2F3F0;color:#14210F;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.ew-map{height:220px;border-radius:16px;overflow:hidden;border:1px solid #E3E8DE;background:#F4FAEE}
.ew-map[hidden]{display:none}
.leaflet-tooltip.ew-shoplab{padding:3px 8px!important;border:0!important;border-radius:8px!important;background:#14210F!important;color:#FFFFFF!important;font-size:11px;font-weight:800;box-shadow:none!important}
.ew-shoplab::before{display:none}
.ew-res{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:16px;font-size:12.5px;line-height:1.45}
.ew-res[hidden]{display:none}
.ew-res>.ew-i{width:20px;height:20px;margin-top:1px}
.ew-res b{display:block;font-size:14px}
.ew-res.ok{background:#E7F5DF;color:#134A1E}
.ew-res.pick{background:#E1EDF8;color:#1F3B52}
.ew-res.far{background:#EAF0FB;color:#1F2F52}
.ew-save{height:50px;border:0;border-radius:14px;background:#318616;color:#FFFFFF;font:inherit;font-size:15px;font-weight:800;cursor:pointer}
.ew-save:disabled{background:#DCE1D7;color:#4A5546;cursor:default}
.ew-gps:focus-visible,.ew-x:focus-visible,.ew-save:focus-visible,.ew-pinf button:focus-visible,.ew-whybtn:focus-visible,.ew-acts button:focus-visible{outline:2px solid #1F6B2E;outline-offset:2px}
@media (min-width:783px){.ew-panel{left:50%;right:auto;bottom:auto;top:50%;width:480px;border-radius:24px;transform:translate(-50%,-46%);opacity:0;transition:transform .32s cubic-bezier(.65,0,.35,1),opacity .25s ease}.ew-sheet.on .ew-panel{transform:translate(-50%,-50%);opacity:1}}
@media (prefers-reduced-motion:reduce){.ew-bg,.ew-panel,.ew-gps,.ew-lf>span{transition:none!important}}

/* the Local Pass is only for homes within the circle (owner, 2026-10-30) */
html.ew-town .gl-cartpage .gl-pass,html.ew-far .gl-cartpage .gl-pass{display:none!important}

/* Where should we deliver? (owner, 2026-10-30, mock local-map-2 round 3): sheet, map with a fixed pin, address */
.ew2{position:fixed;inset:0;z-index:100000;visibility:hidden;font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:#14210F}
.ew2.on{visibility:visible}
.ew2-bg{position:absolute;inset:0;background:rgba(20,33,15,.45);opacity:0;transition:opacity .3s ease}
.ew2.on .ew2-bg{opacity:1}
.ew2-panel{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;max-height:92vh;border-radius:24px 24px 0 0;background:#FFFFFF;transform:translateY(100%);transition:transform .38s cubic-bezier(.65,0,.35,1);overflow:hidden}
.ew2.on .ew2-panel{transform:none}
.ew2[data-on="2"] .ew2-panel,.ew2[data-on="3"] .ew2-panel{top:0;max-height:none;border-radius:0}
.ew2 .ew-i{width:18px;height:18px}
.ew2 button{font:inherit;color:inherit;cursor:pointer;line-height:1.3}
.ew2 .ew2-me,.ew2 .ew2-move{font-size:12.5px!important}
.ew2 .ew2-go{font-size:15px!important}
.ew2 .ew2-opt{font-size:12.5px!important}
.ew2-s[hidden]{display:none!important}
.ew2-s[data-s="1"]{position:relative;display:grid;gap:10px;padding:10px 16px calc(18px + env(safe-area-inset-bottom));overflow:auto}
.ew2-grab{justify-self:center;width:40px;height:5px;border-radius:999px;background:#CFD8C8}
.ew2-x{position:absolute;right:12px;top:12px;width:36px;height:36px;border:0;border-radius:11px;background:#F6F7F4;display:flex;align-items:center;justify-content:center}
.ew2 h2{margin:0;font-size:19px;line-height:1.25;font-weight:800;outline:none}
.ew2-why{margin:-4px 0 0;padding:10px 12px;border-radius:12px;background:#FFF6E5;color:#5E3805;font-size:13px}
.ew2-why[hidden]{display:none}
.ew2-opt{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:12px;border-radius:16px;border:1.5px solid #E3E8DE;background:#FFFFFF;text-align:left;font-size:12.5px;color:#4A5546;transition:border-color .2s ease,transform .15s ease}
.ew2-opt:active{transform:scale(.99)}
.ew2-opt .oi{width:42px;height:42px;border-radius:12px;background:#F4FAEE;color:#1F6B2E;display:flex;align-items:center;justify-content:center}
.ew2-opt b{display:block;font-size:14.5px;color:#14210F}
.ew2-opt>.ew-i{color:#6B7166}
.ew2-opt.pri{border-color:#1F6B2E;background:#F4FAEE}
.ew2-opt.pri .oi{background:#FFFFFF}
.ew2-opt.busy,.ew2-me.busy{opacity:.6;pointer-events:none}
.ew2-pin{display:flex;gap:8px;margin-top:4px}
.ew2-pin .ew2-lf{flex:1}
.ew2-pin button{height:50px;padding:0 16px;border:0;border-radius:13px;background:#14210F;color:#FFFFFF!important;font-weight:800}
.ew2-res{margin:0;font-size:12.5px;color:#5E3805}
.ew2-res[hidden]{display:none}
.ew2-lf{position:relative;display:block}
.ew2-lf input{width:100%;height:50px;padding:0 14px;border:1.5px solid #CFD8C8;border-radius:13px;background:#FFFFFF;font:inherit;font-size:15px;line-height:normal;color:#14210F;outline:none;box-shadow:none;transition:border-color .2s ease}
.ew2-lf input:focus{border-color:#1F6B2E}
.ew2-lf span{position:absolute;left:12px;top:15px;padding:0 4px;background:#FFFFFF;font-size:14px;line-height:1.3;color:#6B7166;pointer-events:none;transition:transform .2s ease,font-size .2s ease,color .2s ease}
.ew2-lf input:focus+span,.ew2-lf input:not(:placeholder-shown)+span{transform:translateY(-24px);font-size:12px;font-weight:700;color:#4A5546}
/* 2: the map */
.ew2-s2,.ew2-s3{display:flex;flex-direction:column;height:100%;min-height:0}
.ew2-bar{display:flex;align-items:center;gap:10px;height:56px;padding:0 14px;border-bottom:1px solid #E3E8DE;flex:none}
.ew2-bk{width:36px;height:36px;border:1.5px solid #CFD8C8;border-radius:11px;background:#FFFFFF;display:flex;align-items:center;justify-content:center}
.ew2-mapbox{position:relative;flex:1;min-height:0}
.ew2-map{position:absolute;inset:0;background:#EEF1EB}
.ew2-map .leaflet-tile-pane,.ew2-mini .leaflet-tile-pane{filter:saturate(.3) brightness(1.06) contrast(.92)}
.ew2-cpin{position:absolute;left:50%;top:50%;z-index:500;transform:translate(-50%,-100%);display:grid;justify-items:center;pointer-events:none}
.ew2-tip{margin-bottom:6px;padding:6px 11px;border-radius:999px;background:#14210F;color:#FFFFFF;font-size:12px;font-weight:800;white-space:nowrap;transition:background-color .25s ease}
.ew2-tip.out{background:#8A5208}
.ew2-pinic svg{display:block;width:32px;height:40px;transition:transform .2s cubic-bezier(.65,0,.35,1)}
.moving .ew2-pinic svg{transform:translateY(-8px)}
.ew2-cpin::after{content:"";width:10px;height:4px;border-radius:50%;background:rgba(20,33,15,.35);margin-top:-2px}
.ew2-me{position:absolute;right:12px;bottom:12px;z-index:500;display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 13px;border-radius:13px;border:1.5px solid #CFD8C8;background:#FFFFFF;font-weight:800;font-size:12.5px}
.ew2-me .ew-i{color:#1F5F8B}
.ew2-shop{display:flex;align-items:center;gap:5px;width:max-content;padding:4px 8px 4px 4px;border-radius:999px;background:#134A1E;color:#FFFFFF;font-size:11px;font-weight:800;white-space:nowrap}
.ew2-shop span{width:20px;height:20px;border-radius:50%;background:#C6E89A;color:#134A1E;display:flex;align-items:center;justify-content:center}
.ew2-shop .ew-i{width:12px;height:12px}
.ew2-cf{display:grid;gap:10px;padding:14px 14px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #E3E8DE;min-height:200px;align-content:start;flex:none}
.ew2-w,.ew2-where{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;font-size:12.5px;color:#4A5546}
.ew2-w .sw,.ew2-where .sw{width:42px;height:42px;border-radius:13px;background:#1F6B2E;color:#FFFFFF;display:flex;align-items:center;justify-content:center}
.ew2-w.out .sw{background:#8A5208}
.ew2-w b,.ew2-where b{display:block;font-size:16px;color:#14210F}
.ew2-where small{display:block;font-size:12.5px}
.ew2-what{display:flex;flex-wrap:wrap;gap:6px}
.ew2-what span{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:#F4FAEE;color:#1F6B2E;font-size:11.5px;font-weight:800}
.ew2-what .ew-i{width:13px;height:13px}
.ew2-what.out span{background:#FFF6E5;color:#7A4E00}
.ew2-go{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;border:0;border-radius:14px;background:#318616;color:#FFFFFF!important;font-weight:800;font-size:15px;transition:transform .15s ease}
.ew2-go:active{transform:scale(.98)}
.ew2-go.out{background:#FFFFFF;border:1.5px solid #CFD8C8;color:#14210F!important}
.ew2-hint,.ew2-priv{margin:0;font-size:12px;color:#4A5546}
/* 3: the address */
.ew2-body{flex:1;overflow:auto;display:grid;gap:14px;align-content:start;padding:14px 14px calc(18px + env(safe-area-inset-bottom))}
.ew2-minibox{position:relative;height:150px;border-radius:18px;overflow:hidden;border:1px solid #E3E8DE}
.ew2-mini{position:absolute;inset:0}
.ew2-move{position:absolute;right:10px;bottom:10px;z-index:500;height:34px;padding:0 12px;border-radius:10px;border:1.5px solid #CFD8C8;background:#FFFFFF;font-weight:800;font-size:12px}
.ew2-form{display:grid;gap:14px;align-content:start}
.ew2-lbl{margin:0 0 -6px;font-size:11px;font-weight:800;letter-spacing:.08em;color:#6B7166}
.ew2-lab{display:flex;flex-wrap:wrap;gap:6px}
.ew2-lab button{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:999px;border:1.5px solid #CFD8C8;background:#FFFFFF;font-weight:800;font-size:12.5px;color:#4A5546}
.ew2-lab button .ew-i{width:15px;height:15px}
.ew2-lab button[aria-pressed="true"]{background:#14210F;border-color:#14210F;color:#FFFFFF}
.ew2-err{margin:0;font-size:12.5px;color:#B3261E}
.ew2-err[hidden]{display:none}
@media (min-width:783px){
.ew2-panel,.ew2[data-on="2"] .ew2-panel,.ew2[data-on="3"] .ew2-panel{left:50%;top:50%;bottom:auto;right:auto;width:min(960px,calc(100vw - 48px));max-height:none;border-radius:22px;transform:translate(-50%,-46%);opacity:0;transition:transform .3s cubic-bezier(.65,0,.35,1),opacity .25s ease}
.ew2.on .ew2-panel{transform:translate(-50%,-50%);opacity:1}
.ew2[data-on="1"] .ew2-panel{width:460px}
.ew2[data-on="2"] .ew2-panel,.ew2[data-on="3"] .ew2-panel{height:min(640px,calc(100vh - 48px))}
.ew2-s2:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:56px minmax(0,1fr)}
.ew2-s2 .ew2-bar{grid-column:1/-1}
.ew2-s2 .ew2-cf{border-top:0;border-left:1px solid #E3E8DE;min-height:0}
.ew2-body{grid-template-columns:380px minmax(0,1fr);gap:22px;padding:22px}
.ew2-minibox{height:300px}
}
@media (hover:hover){.ew2-opt:hover{border-color:#1F6B2E}}
@media (prefers-reduced-motion:reduce){.ew2 *,.ew2-panel{transition:none!important}}
