/* Shared delivery presentation; business rules remain on the server. */
.yivo-dispatch-banner[hidden]{display:none!important}
.yivo-dispatch-banner .yivo-dispatch-close{position:absolute;right:4px;top:4px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:26px;line-height:1;cursor:pointer;box-shadow:none}
.yivo-dispatch-banner .yivo-dispatch-close:hover{background:#263d2010}
.yivo-dispatch-banner .yivo-dispatch-close:focus-visible{outline:2px solid #287a24;outline-offset:-3px}
.yivo-dispatch-banner{position:fixed;left:50%;transform:translateX(-50%);z-index:60;display:flex;align-items:center;justify-content:center;gap:6px 14px;flex-wrap:wrap;width:max-content;max-width:calc(100% - 32px);box-sizing:border-box;padding:10px 18px;background:#f0f7e9;border:1px solid #c6dcb7;border-radius:16px;box-shadow:0 3px 14px #17201512;font:inherit;font-size:14px;color:#263d20}
.yivo-dispatch-banner [role=timer],.yivo-dispatch-meta [role=timer]{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}
.yivo-dispatch-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#647064;font-size:12px;line-height:1.5}
.yivo-dispatch-clock[data-view=compact]{margin:12px 0;padding:10px 12px;border-radius:10px;background:#f5f7f3;line-height:1.5}
.yivo-dispatch-clock[data-view=compact]>strong{display:block;font-size:14px;color:#263d20}
.yivo-rate-eta{display:block;margin:5px 0 0 25px;color:#647064;font-size:12px;line-height:1.5}
.yivo-weekend-option{display:flex!important;align-items:center;gap:9px;padding:10px 0;line-height:1.4;font-size:13px}
.yivo-weekend-option input{flex:0 0 auto;accent-color:#3da007}
.yivo-weekend-option>span{flex:1}
.yivo-weekend-option small{display:block;font-size:11px;color:#647064}
.yivo-weekend-option>strong{white-space:nowrap;font-size:13px}
.yivo-weekend-parcels{display:block;color:#647064;font-size:12px}
.yivo-weekend-error:empty,.yivo-pickup-error:empty{display:none}
.yivo-pickup{margin:8px 0}
.yivo-pickup p{font-size:12px;line-height:1.5;margin:8px 0}
.yivo-delivery-terms{font-size:12px;color:#647064;line-height:1.6;margin:14px 0}
.yivo-delivery-terms summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.yivo-delivery-terms p{margin:8px 0}
.woocommerce-cart .cart-collaterals .cart_totals{float:none!important;width:100%!important;padding:24px;box-sizing:border-box;background:#fff;border:1px solid #dfe6dc;border-radius:18px}
.woocommerce-cart .cart_totals h2{font-size:22px;margin:0 0 18px}
.woocommerce-cart .cart_totals table.shop_table{border:0;margin-bottom:0}
.woocommerce-cart .cart_totals table.shop_table tbody{display:block;width:100%}
.woocommerce-cart .cart_totals table.shop_table tr{display:flex;justify-content:space-between;width:100%;gap:12px}
.woocommerce-cart .cart_totals table.shop_table td{text-align:right!important}
.woocommerce-cart .cart_totals table.shop_table td:before{display:none!important}
.woocommerce-cart .cart_totals table.shop_table th,.woocommerce-cart .cart_totals table.shop_table td{padding:12px 0;border-top:1px solid #dfe6dc}
.woocommerce-cart .cart_totals table.shop_table tr.shipping{display:block}
.woocommerce-cart .cart_totals tr.shipping>th,.woocommerce-cart .cart_totals tr.shipping>td{display:block!important;width:100%;box-sizing:border-box;text-align:left!important}
.woocommerce-cart .cart_totals tr.shipping>td{border-top:0!important;padding-top:0}
.woocommerce-cart .cart_totals tr.shipping>td:before{display:none!important}
.woocommerce-cart #shipping_method{margin:0;padding:0;list-style:none}
.woocommerce-cart #shipping_method li{position:relative;padding:12px;margin:0 0 8px;border:1px solid #dfe6dc;border-radius:12px;line-height:1.5}
.woocommerce-cart #shipping_method li:has(>input:checked){border-color:#75ae4c;background:#f7faf3}
.woocommerce-cart #shipping_method li>input{position:absolute;left:12px;top:17px;margin:0;accent-color:#3da007}
.woocommerce-cart #shipping_method li>label{display:flex;justify-content:space-between;gap:8px;padding-left:25px;font-size:13px;font-weight:600;cursor:pointer}
.woocommerce-cart #shipping_method li>label>.amount{white-space:nowrap}
.woocommerce-cart .woocommerce-shipping-destination{font-size:12px;color:#647064;margin:12px 0}
.woocommerce-cart .cart_totals .order-total{font-size:18px}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout{padding:12px 0 0}
.woocommerce-cart .cart_totals .checkout-button{margin:0!important;border-radius:12px!important;font-size:16px!important}
.woocommerce-cart .cart-collaterals{margin-top:24px}
@media(min-width:1100px){.woocommerce-cart .yv-main article>.woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;align-items:start}.woocommerce-cart .yv-main article>.woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}.woocommerce-cart .yv-main article>.woocommerce>.cart-collaterals{width:auto;margin-top:0}.woocommerce-cart .yv-main article>.woocommerce>.woocommerce-cart-form{min-width:0}}
@media(max-width:600px){.woocommerce-cart .cart-collaterals .cart_totals{padding:16px}.woocommerce-cart .cart_totals tr.shipping>td{background:transparent!important}.yivo-dispatch-banner{padding:8px 12px;gap:2px 8px;font-size:12px;border-radius:12px}.yivo-dispatch-meta{font-size:11px}}

/* Weekend estimates: visible conditions, without tooltip-only qualifications. */
.yivo-delivery-badge{display:inline-block;max-width:100%;box-sizing:border-box;margin:5px 4px 2px 0;padding:3px 9px;border:1px solid #c6dcb7;border-radius:7px;background:#edf6e6;color:#2c5420;font-size:12px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.yivo-weekend-condition{display:block;flex-basis:100%;margin:3px 0;color:#56634f;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.yivo-dispatch-banner .yivo-delivery-badge{margin:0}
.yivo-rate-eta .yivo-delivery-badge{display:table}

.wc-block-components-radio-control__option.yivo-delivery-next-day .wc-block-components-radio-control__description{font-weight:700;color:#2c5420}
.yivo-arrival{display:block;font-size:14px;line-height:1.5}
.yivo-weekend-label{display:block;margin-top:5px;color:#56634f;font-size:12px;font-weight:400}
.woocommerce-cart #shipping_method>li.yivo-shipping-group{display:block;position:static;padding:0;margin:0 0 10px;border:0;background:transparent}
.yivo-shipping-group-panel{border:1px solid #dfe6dc;border-radius:12px;background:#fff;overflow:hidden}
.yivo-shipping-group-panel>summary{position:relative;list-style:none;padding:13px 36px 13px 13px;cursor:pointer;color:#293f23;font-size:14px;font-weight:600;line-height:1.5}
.yivo-shipping-group-panel>summary::-webkit-details-marker{display:none}
.yivo-shipping-group-panel>summary::after{content:'⌄';position:absolute;right:14px;top:12px;font-size:18px}
.yivo-shipping-group-panel[open]>summary::after{transform:rotate(180deg)}
.yivo-shipping-group-panel>summary small{display:block;margin-top:3px;color:#647064;font-size:12px;font-weight:400;overflow-wrap:anywhere}
.yivo-shipping-group-panel>summary:focus-visible{outline:2px solid #3da007;outline-offset:-3px}
.woocommerce-cart #shipping_method .yivo-shipping-group-options{list-style:none;padding:0 8px 0;margin:0}

/* Classic cart: override Woo's fixed 80px coupon field and match button sizing. */
.woocommerce-cart .woocommerce-cart-form .actions .coupon{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;float:none;max-width:100%}
.woocommerce-cart .woocommerce-cart-form .actions .coupon #coupon_code{float:none;width:clamp(160px,18vw,240px)!important;max-width:100%;min-height:46px;height:auto;margin:0;padding:11px 14px;line-height:22px;box-sizing:border-box;border:1px solid #cdd8c7;border-radius:10px}
.woocommerce-cart .woocommerce-cart-form .actions .coupon button[name=apply_coupon]{float:none;width:auto!important;margin:0;min-height:46px;padding:11px 18px;line-height:22px;box-sizing:border-box;border-radius:10px}
.woocommerce-cart .woocommerce-cart-form .quantity.yivo-cart-quantity{display:inline-flex;align-items:stretch;border:1px solid #cdd8c7;border-radius:10px;overflow:hidden;max-width:100%;background:#fff}
.woocommerce-cart .woocommerce-cart-form .yivo-cart-quantity input.qty{appearance:textfield;-moz-appearance:textfield;width:48px;min-width:0;height:42px;margin:0;padding:6px 2px;border:0;border-radius:0;box-shadow:none;text-align:center;box-sizing:border-box}
.woocommerce-cart .woocommerce-cart-form .yivo-cart-quantity input.qty::-webkit-inner-spin-button,.woocommerce-cart .woocommerce-cart-form .yivo-cart-quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.woocommerce-cart .woocommerce-cart-form .yivo-quantity-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;min-width:36px;min-height:42px;padding:0;margin:0;border:0;border-radius:0;background:#f4f8f0;color:#2c5420;font:inherit;font-size:22px;line-height:1;cursor:pointer}
.woocommerce-cart .woocommerce-cart-form .yivo-quantity-button:disabled{opacity:.4;cursor:default}
.woocommerce-cart .woocommerce-cart-form .yivo-quantity-button:focus-visible,.woocommerce-cart .woocommerce-cart-form .yivo-cart-quantity input.qty:focus-visible{outline:2px solid #3da007;outline-offset:-3px}
@media(max-width:600px){.woocommerce-cart .woocommerce-cart-form .actions .coupon #coupon_code{flex:1 1 150px;width:150px!important}.woocommerce-cart .woocommerce-cart-form .actions .coupon button[name=apply_coupon]{flex:1 1 auto}}

/* Host-owned map chrome only. The cross-origin Base map keeps its own UI. */
.yivo-pickup-dialog{box-sizing:border-box;width:min(1100px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:min(800px,calc(100vh - 48px));height:min(800px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #cdddc2;border-radius:18px;background:#fff;color:#243520;box-shadow:0 20px 70px #17201540;font-family:inherit;overflow:hidden}
.yivo-pickup-dialog[open]{display:flex;flex-direction:column}
.yivo-pickup-dialog::backdrop{background:rgba(18,31,15,.56)}
.yivo-pickup-dialog-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#f4f8ef;border-bottom:1px solid #dce6d4}
.yivo-pickup-dialog-header h2{margin:0;color:#243520;font:inherit;font-size:22px;line-height:1.35;font-weight:600;letter-spacing:-.02em}
.yivo-pickup-dialog .yivo-pickup-close,.yivo-pickup button:not(.yivo-pickup-close){display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-height:44px;padding:10px 17px;border:1px solid #c5d7b9;border-radius:11px;background:#edf5e6;color:#315b20;font:inherit;font-size:14px;font-weight:600;line-height:1.5;text-decoration:none;cursor:pointer;box-shadow:none}
.yivo-pickup-dialog .yivo-pickup-close{flex:0 0 auto;background:#fff;white-space:nowrap}
.yivo-pickup-dialog .yivo-pickup-close::before{content:'×';font-size:22px;font-weight:400;line-height:1}
.yivo-pickup-dialog .yivo-pickup-close:hover,.yivo-pickup button:not(.yivo-pickup-close):hover{background:#e1edd7;border-color:#82ae62;color:#244c16}
.yivo-pickup-dialog .yivo-pickup-close:focus-visible,.yivo-pickup button:not(.yivo-pickup-close):focus-visible{outline:2px solid #3da007;outline-offset:3px}
.yivo-pickup button:disabled{opacity:.55;cursor:wait}
.yivo-pickup-dialog .yivo-pickup-map{display:block;flex:1 1 auto;min-height:0;width:100%;height:100%;margin:0;border:0;background:#f5f7f3}
@media(max-width:600px){.yivo-pickup-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:calc(100vh - 24px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:14px}.yivo-pickup-dialog-header{gap:10px;padding:12px}.yivo-pickup-dialog-header h2{font-size:18px}.yivo-pickup-dialog .yivo-pickup-close{padding:8px 11px;font-size:12px}}
.yivo-dispatch-banner{padding-right:54px}
.yivo-dispatch-banner.is-collapsed{top:auto!important;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:16px;right:auto;transform:none;width:auto;max-width:calc(100% - 32px);padding:0;border-radius:999px;background:#f7fbf3;box-shadow:0 2px 10px #17201514}
.yivo-dispatch-expand{display:flex;align-items:center;justify-content:center;gap:4px;min-height:44px;margin:0;padding:8px 14px;border:0;border-radius:inherit;background:transparent;color:inherit;font:inherit;font-size:12px;line-height:1.4;cursor:pointer;box-shadow:none}
.yivo-dispatch-expand:hover{background:#e8f2df}
.yivo-dispatch-expand:focus-visible{outline:2px solid #287a24;outline-offset:2px}
body:has(dialog[open]) .yivo-dispatch-banner.is-collapsed,body:has(input:focus,textarea:focus,select:focus) .yivo-dispatch-banner.is-collapsed{visibility:hidden}
