#drawer{isolation:isolate}
#drawer::before{content:"";position:fixed;inset:0;z-index:4;background:rgba(18,31,24,.34);backdrop-filter:blur(5px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
#drawer:has(.delivery-picker-dropdown:not([hidden]))::before{opacity:1;visibility:visible}
.delivery-address-picker{z-index:1;scroll-margin-top:100px}
#drawer:has(.delivery-picker-dropdown:not([hidden])) .delivery-address-picker{z-index:5}
#orderForm>label{margin-top:20px;color:#293d30;font-size:13px;font-weight:600;line-height:1.5}
#orderForm>label input,#orderForm>label textarea,#orderForm .form-row input{border:1px solid #aebfb2;border-radius:12px;background:#fff;color:#1f3025;box-shadow:0 1px 2px #1f30250a;transition:border-color .15s ease,box-shadow .15s ease}
#orderForm>label input::placeholder,#orderForm>label textarea::placeholder,#orderForm .form-row input::placeholder{color:#87958a;opacity:1}
#orderForm>label input:focus-visible,#orderForm>label textarea:focus-visible,#orderForm .form-row input:focus-visible{border-color:#287443;outline:3px solid #2f865025;outline-offset:1px;box-shadow:0 0 0 1px #287443}
#orderForm>h3{margin-top:26px;color:#1d3325;font-family:inherit;font-size:23px;font-weight:650;letter-spacing:-.3px}
#orderForm>.muted{color:#5d6e62;font-size:13px;line-height:1.6}
#orderForm .delivery-choice{padding:16px;border:1px solid #d5e0d8;border-radius:16px;background:#f8fbf8}
#orderForm .delivery-choice legend{color:#263b2d;font-size:15px;font-weight:650}
#orderForm .delivery-methods label{background:white;color:#33473a;font-size:14px;font-weight:550;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
#orderForm .delivery-methods label:has(input:checked){background:#e8f4eb;border-color:#36814a;box-shadow:inset 0 0 0 1px #36814a;color:#205d33}
#orderForm .smart-cart-summary{border-color:#cee0d2;background:#f0f7f1}
#orderForm .smart-cart-summary dt{color:#52675a}
#orderForm .smart-cart-summary dd{color:#263b2d;font-weight:550}
#orderForm .submit{min-height:54px;border-radius:13px;background:#216437;color:white;font-size:15px;font-weight:650;box-shadow:0 5px 14px #174b2b20}
#orderForm .submit:hover{background:#194f2c}
#orderForm .submit:focus-visible{outline:3px solid #36814a55;outline-offset:3px}
.delivery-picker-dropdown{position:relative;z-index:1;border-color:#c9d8cd;box-shadow:0 16px 36px #15251c24}
.delivery-suggestions button{color:#26382d}
.delivery-suggestions button b{font-size:14px}
.delivery-suggestions button small{color:#617367}
.delivery-address-hint{color:#566a5b}
@media(max-width:760px){
 #drawer::before{background:rgba(15,28,21,.42);backdrop-filter:blur(6px)}
 #drawer .drawer-head{min-height:76px;padding:calc(14px + env(safe-area-inset-top)) 18px 14px}
 #drawer .drawer-body{padding:0 16px calc(26px + env(safe-area-inset-bottom))}
 .delivery-address-picker{scroll-margin-top:calc(90px + env(safe-area-inset-top))}
 #orderForm>h3{margin-top:22px;font-size:22px}
 #orderForm>label{margin-top:17px;font-size:13px}
 #orderForm>label input,#orderForm>label textarea,#orderForm .form-row input{min-height:52px;padding:13px 14px;font-size:16px}
 #orderForm>label textarea{min-height:82px}
 #orderForm .form-row{grid-template-columns:1fr;gap:0}
 #orderForm .delivery-choice{padding:14px;border-radius:16px}
 #orderForm .delivery-methods{gap:9px}
 #orderForm .delivery-methods label{min-height:44px;padding:9px 10px;border-radius:12px;font-size:12px}
 #orderForm .submit{min-height:58px;border-radius:15px}
 .delivery-picker-dropdown{border-radius:15px}
 .delivery-suggestions button{min-height:58px;padding:12px 14px}
}
@media(prefers-reduced-motion:reduce){#drawer::before,#orderForm>label input,#orderForm>label textarea,#orderForm .form-row input{transition:none}}

#drawer{background:#f5f8f6;color:#1d2c22}
#drawer .drawer-head{align-items:center;padding:18px 24px;background:rgba(255,255,255,.96);border-bottom:1px solid #e6ede8;box-shadow:0 6px 20px #19342108;backdrop-filter:blur(16px)}
#drawer .drawer-head .eyebrow{color:#718176;font-size:9px;font-weight:700;letter-spacing:.16em}
#drawer .drawer-head h2{margin:4px 0 0;color:#1d2c22;font-size:26px;font-weight:700;letter-spacing:-.7px;line-height:1.15}
#drawer .drawer-head .icon-button{flex:0 0 44px;border:1px solid #e1e9e3;border-radius:14px;background:#f8faf8;color:#405347;transition:background .16s ease,border-color .16s ease,transform .16s ease}
#drawer .drawer-head .icon-button:hover{border-color:#c7d8cb;background:#eef5f0;transform:translateY(-1px)}
#drawer .cart-benefits{margin-top:12px}
#drawer .cart-benefits .benefit-caption{font-size:12px;line-height:1.45}
#drawer .cart-benefits .benefit-track{height:4px;margin-top:8px;background:#e6eee8}
#drawer .cart-benefits .benefit-track>span{border-radius:inherit}
#drawer .drawer-body{padding:10px 24px 32px;background:#f5f8f6}
#cartItems .cart-item{grid-template-columns:58px minmax(0,1fr) auto;gap:10px 13px;margin:10px 0;padding:16px;border:1px solid #e7ede8;border-radius:18px;background:#fff;box-shadow:0 5px 16px #173a2208}
#cartItems .cart-item>img{width:58px;height:58px;grid-column:1;grid-row:1/3;border-radius:13px;background:#f3f6f3}
#cartItems .cart-item>div{position:relative;grid-column:2;grid-row:1;min-width:0}
#cartItems .cart-item h3{margin:0 0 8px;padding-right:70px;color:#24362a;font-size:13px;font-weight:650;line-height:1.45}
#cartItems .cart-item .cart-quantity-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#cartItems .cart-item .quantity{border-color:#e0e8e2;border-radius:12px;background:#f8faf8}
#cartItems .cart-item .quantity button{background:#f1f5f2;color:#315b3c}
#cartItems .cart-item .quantity button:hover{background:#e8f1ea}
#cartItems .cart-item .quantity input{font-size:14px;font-weight:600}
#cartItems .cart-item .cart-quantity-unit{color:#718176;font-size:12px}
#cartItems .cart-item .cart-calculation{margin-top:8px}
#cartItems .cart-item .cart-item-meta,#cartItems .cart-item .cart-price-formula{color:#68786c;font-size:11px;line-height:1.5}
#cartItems .cart-item .cart-equivalents{color:#4a6651;font-size:11px}
#cartItems .cart-item>strong{grid-column:3;grid-row:1;align-self:start;margin:0;color:#203d29;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
#cartItems .cart-item .remove{position:absolute;top:0;right:0;width:auto;min-height:34px;height:auto;margin:0;padding:5px 9px;border:1px solid #e8ece9;border-radius:10px;background:#fff;color:#718176;font-size:11px}
#cartItems .cart-item .remove:hover{border-color:#e7caca;background:#fff7f7;color:#9b3d3d}
#checkout{padding-top:2px}
#checkout>p:first-child{margin:12px 0;color:#68786c;font-size:12px;line-height:1.55}
#orderForm{margin-top:16px;padding:20px;border:1px solid #e5ece7;border-radius:22px;background:#fff;box-shadow:0 8px 26px #173a2208}
#orderForm .delivery-choice{border-color:#e2ebe4;background:#f7faf8}
#orderForm .delivery-choice legend{padding:0 4px;font-size:14px;font-weight:700}
#orderForm .delivery-methods label{border-color:#e0e8e2;border-radius:12px}
#orderForm .delivery-methods label:has(input:checked){border-color:#438052;background:#edf6ef;box-shadow:inset 0 0 0 1px #438052}
#orderForm .delivery-methods label:focus-within{outline:3px solid #43805224;outline-offset:2px}
#orderForm .delivery-address-hint{margin-top:8px;padding-left:2px;font-size:12px;line-height:1.55}
#orderForm>h3{margin-top:24px;font-size:20px;letter-spacing:-.35px}
#orderForm>h3::after{content:"";display:block;width:28px;height:3px;margin-top:8px;border-radius:3px;background:#438052}
#orderForm>.muted{margin:8px 0 12px;font-size:12px}
#orderForm>label{margin-top:14px}
#orderForm>label input,#orderForm>label textarea,#orderForm .form-row input{border-color:#dbe5de;border-radius:13px;background:#fbfcfb}
#orderForm>label input:hover,#orderForm>label textarea:hover,#orderForm .form-row input:hover{border-color:#b9cbbd}
#orderForm .smart-cart-summary{gap:10px;margin:12px 0 8px;padding:16px;border-color:#e1eae3;border-radius:16px;background:#f7faf8}
#orderForm .smart-cart-summary>div{font-size:13px;line-height:1.4}
#orderForm .smart-cart-summary dt{color:#66776a}
#orderForm .smart-cart-summary dd{color:#26382c;font-weight:600}
#orderForm .smart-cart-summary .smart-cart-final{margin:4px -4px -4px;padding:14px 4px 0;border-color:#dfe8e1;font-size:15px}
#orderForm .smart-cart-summary .smart-cart-final dd{color:#205d33;font-size:17px;font-weight:750}
#orderForm .delivery-status{margin:10px 0 0;padding:10px 12px;border:1px solid #e4ece6;border-radius:12px;background:#f8faf8;color:#506455;font-size:12px;line-height:1.5}
#orderForm .delivery-route{border-color:#e1eae3;border-radius:18px;background:#f8faf8}
#orderForm .delivery-route-distance{border-radius:12px}
#orderForm .delivery-vehicle{border-color:#e2eae4}
#orderForm .delivery-route-buttons button{border-color:#dce7df;border-radius:12px;font-weight:600}
#orderForm .delivery-route-buttons button:first-child{background:#edf5ef}
#orderForm .submit{min-height:56px;border-radius:15px;background:#216437;box-shadow:0 8px 20px #174b2b26;letter-spacing:.01em;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}
#orderForm .submit:hover{background:#194f2c;box-shadow:0 10px 24px #174b2b30;transform:translateY(-1px)}
#orderForm .submit:active{transform:translateY(0)}
@media(min-width:761px){
 #drawer .drawer-body{padding-right:28px;padding-left:28px}
 #cartItems .cart-item{grid-template-columns:58px minmax(0,1fr) auto}
 #cartItems .cart-item>strong{grid-column:3;grid-row:1;align-self:start;margin:0}
}
@media(max-width:760px){
 #drawer{border-radius:22px 22px 0 0;background:#f5f8f6}
 #drawer .drawer-head{min-height:0;padding:calc(12px + env(safe-area-inset-top)) 16px 12px}
 #drawer .drawer-head h2{font-size:23px}
 #drawer .drawer-head .icon-button{flex-basis:42px;width:42px;height:42px}
 #drawer .drawer-body{padding:8px 14px calc(110px + env(safe-area-inset-bottom))}
 #cartItems .cart-item{grid-template-columns:52px minmax(0,1fr) auto;gap:8px 11px;margin:8px 0;padding:13px;border-radius:16px}
 #cartItems .cart-item>img{width:52px;height:52px}
 #cartItems .cart-item>div{grid-column:2/4}
 #cartItems .cart-item>strong{grid-column:2;grid-row:2;align-self:center;margin:4px 0 0}
 #cartItems .cart-item .remove{min-height:32px;padding:4px 8px}
 #cartItems .cart-item h3{font-size:12px}
 #cartItems .cart-item>strong{font-size:15px}
 #cartItems .cart-item .remove{min-height:32px;padding:4px 8px}
 #orderForm{margin-top:12px;padding:16px;border-radius:20px}
 #orderForm .delivery-choice{padding:13px;border-radius:15px}
 #orderForm .delivery-methods{gap:8px}
 #orderForm .delivery-methods label{min-height:44px;padding:9px 10px;font-size:12px}
 #orderForm>h3{margin-top:21px;font-size:19px}
 #orderForm>label{margin-top:13px}
 #orderForm>label input,#orderForm>label textarea,#orderForm .form-row input{min-height:50px}
 #orderForm .delivery-route{padding:13px}
 #orderForm .submit{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));min-height:56px;margin-top:14px;box-shadow:0 8px 24px #123b2255,0 0 0 12px #fff}
}
@media(max-width:360px){
 #drawer .drawer-head{padding-right:12px;padding-left:12px}
 #drawer .drawer-body{padding-right:10px;padding-left:10px}
 #orderForm{padding:13px}
 #orderForm .delivery-methods label{padding:9px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 #drawer .drawer-head .icon-button,#cartItems .cart-item .quantity button,#orderForm .submit{transition:none}
 #drawer .drawer-head .icon-button:hover,#orderForm .submit:hover{transform:none}
}
#orderForm .delivery-address-control{position:relative;display:flex;align-items:center;width:100%;min-width:0}
#drawer .drawer-head{z-index:6}
.delivery-address-caption{position:absolute;z-index:2;top:8px;left:48px;color:#617367;font-size:12px;font-weight:650;line-height:1.2;pointer-events:none}
#orderForm .delivery-address-control input#deliveryAddress{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:68px;margin:0;padding:27px 52px 10px 48px!important;appearance:none;-webkit-appearance:none;border:1px solid #dbe5de;border-radius:16px;background:#fbfcfb;color:#213629;font-family:inherit;font-size:16px;font-weight:600;line-height:1.35;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;caret-color:#287443;touch-action:manipulation;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
#orderForm .delivery-address-control input#deliveryAddress::placeholder{color:#87958a;font-weight:500;opacity:1}
#orderForm .delivery-address-control input#deliveryAddress:hover{border-color:#b9cbbd;background:#fff}
#orderForm .delivery-address-control input#deliveryAddress:focus{border-color:#287443;background:#fff;outline:none;box-shadow:0 0 0 4px #2f86501c,0 5px 16px #173a220c}
#orderForm .delivery-address-control input#deliveryAddress:focus-visible{outline:2px solid #287443;outline-offset:2px}
.delivery-address-icon{position:absolute;z-index:1;left:16px;top:50%;display:grid;width:20px;height:20px;place-items:center;transform:translateY(-50%);color:#68806e;pointer-events:none;transition:color .16s ease}
.delivery-address-icon svg{display:block;width:20px;height:20px}
#orderForm .delivery-address-control:focus-within .delivery-address-icon{color:#287443}
#orderForm .delivery-address-control .delivery-address-clear{right:7px;width:40px;height:40px;appearance:none;-webkit-appearance:none;box-sizing:border-box;border-radius:12px;color:#718176;font-size:23px;touch-action:manipulation}
#orderForm .delivery-address-control .delivery-address-clear:hover{background:#edf5ef;color:#205d33}
#orderForm .delivery-address-control .delivery-address-clear:focus-visible{outline:2px solid #287443;outline-offset:1px}
@media(max-width:760px){
 #orderForm .delivery-address-control input#deliveryAddress{min-height:66px;padding:26px 52px 9px 46px!important;border-radius:15px;font-size:16px}
 .delivery-address-caption{top:8px;left:46px}
 .delivery-address-icon{left:15px}
}
@media(prefers-reduced-motion:reduce){#orderForm .delivery-address-control input#deliveryAddress,.delivery-address-icon{transition:none}}
