/* Shared DNS-style store availability: the list and map use the same server rows. */
.fav-picker{--fav-accent:#f58220;display:flex;flex-direction:column;width:100%;min-width:0;min-height:0;color:#333;font:16px/1.43 'PT Sans',Arial,sans-serif}
.fav-picker *{box-sizing:border-box}
.fav-tabs{display:none}
.fav-toolbar{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:16px 15px 10px;overflow-x:auto;scrollbar-width:thin}
.fav-search{position:relative;flex:0 0 300px;margin:0}
.fav-search input{display:block;width:100%;height:38px;border:1px solid transparent;border-radius:8px;padding:0 40px 0 12px;background:#f2f2f2;color:#333;font:inherit}
.fav-search input:focus{border-color:#aaa;outline:none}
.fav-search-icon{position:absolute;right:0;top:0;display:grid;place-items:center;width:40px;height:38px;padding:0;border:0;border-radius:8px;background:transparent;color:#999;cursor:pointer}
.fav-search-icon svg{fill:none;stroke:currentColor;stroke-width:1.5}
.fav-filters{display:flex;align-items:center;gap:8px;flex-shrink:0}
.fav-chip{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid transparent;border-radius:8px;padding:8px 9px;background:#f2f2f2;color:#111;cursor:pointer;font:14px/20px 'PT Sans',Arial,sans-serif;min-height:38px}
.fav-check{width:16px;height:16px;border:1px solid #b5b5b5;border-radius:3px;background:white;position:relative;flex-shrink:0;box-shadow:0 0 0 2px #fff}
.fav-chip:hover .fav-check{border-color:var(--fav-accent)}
.fav-chip.is-active .fav-check{background:var(--fav-accent);border-color:var(--fav-accent)}
.fav-chip.is-active .fav-check:after{content:'';position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fav-status{padding:0 15px;margin:0;flex-shrink:0;color:#666;font-size:14px}
.fav-status:empty{display:none}
.fav-status:not(:empty){padding-bottom:10px}
.fav-status button{margin-left:8px;border:0;background:none;color:#256797;text-decoration:underline;cursor:pointer;font:inherit}
.fav-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:560px;min-height:160px;border-top:1px solid #f1f1f1}
.fav-list{overflow-y:auto;overscroll-behavior:contain;min-width:0;padding:0 15px;scrollbar-width:thin;scrollbar-color:#ccc transparent}
.fav-store{padding:20px 0 22px;border-bottom:1px solid #ddd;min-width:0;font-size:14px}
.fav-name{font:16px/1.43 'PT Sans',Arial,sans-serif;text-align:left;color:#306792;border:0;padding:0;background:none;cursor:pointer}
.fav-name:hover,.fav-store.is-selected .fav-name{color:#e77414}
.fav-picker .fav-address{margin:12px 0 0!important;overflow-wrap:anywhere;color:#888;font:14px/20px 'PT Sans',Arial,sans-serif}
.fav-picker .fav-landmark{margin:4px 0 0!important;color:#888;font:13px/18px 'PT Sans',Arial,sans-serif}
.fav-picker .fav-hours{margin:10px 0 0!important;color:#555;font:14px/20px 'PT Sans',Arial,sans-serif}
.fav-hours .is-open,.fav-stock.is-stock{color:#548e35}
.fav-distance{display:block;margin-top:8px;color:#777}
.fav-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px}
.fav-buy{flex-shrink:0;background:#fff;border:1px solid #d9d9d9;border-radius:8px;padding:0 22px;color:#333;font:16px/1 'PT Sans',Arial,sans-serif;cursor:pointer;min-width:106px;min-height:44px;box-shadow:0 1px 2px #00000008}
.fav-buy:hover{background:#fff6ed;border-color:#f58220;color:#d9670c}
.fav-buy:disabled{opacity:.55;cursor:wait}
.fav-availability{text-align:right;min-width:0}
.fav-stock{font-size:16px;font-weight:400;display:block;color:#666}
.fav-display{display:block;color:#8c5f21;font-size:12px;margin-top:5px}
.fav-note{font-size:13px;color:#777;margin:8px 0!important}
.fav-details{margin-top:10px;color:#777;font-size:13px}
.fav-details summary{cursor:pointer;width:fit-content;color:#306792}
.fav-picker .fav-details p{margin:8px 0!important;white-space:pre-line;font:13px/19px 'PT Sans',Arial,sans-serif}
.fav-links{display:flex;gap:8px 14px;flex-wrap:wrap;padding-top:4px}
.fav-links a{color:#306792;text-decoration:none}
.fav-links a:hover{text-decoration:underline}
.fav-map-wrap{position:relative;min-width:0;background:#f2f4f5}
.fav-map{width:100%;height:100%;min-height:0}
.fav-map-note{position:absolute;z-index:410;top:15px;left:56px;right:15px;background:white;border-radius:8px;padding:12px;box-shadow:0 2px 12px #0002;color:#666;font-size:14px}
.fav-map-card{position:absolute;bottom:16px;left:16px;right:16px;z-index:420;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;padding:4px 18px;max-height:80%;overflow:auto}
.fav-map-card .fav-store{border:0;padding-top:20px}
.fav-detail-close{position:absolute;right:4px;top:4px;border:0;background:white;color:#888;font-size:24px;cursor:pointer;width:32px;height:32px;padding:0}
.fav-map-card .fav-name{padding-right:20px}
.fav-empty{padding:30px 0;color:#777}
.fav-picker button:focus-visible,.fav-picker a:focus-visible,.fav-picker input:focus-visible,.fav-details summary:focus-visible,.fav-city:focus-visible{outline:2px solid #e77414;outline-offset:3px}
.fav-picker .leaflet-container{font-family:'PT Sans',Arial,sans-serif}
.fav-discontinued{background:#e9e9e9!important;color:#666!important;cursor:default!important}
/* One shared shell for product, catalog, cart and checkout pickers. */
.forte-pdp-availability-dialog,.fco-dialog.fav-checkout-dialog,.fc-dialog.fav-catalog-dialog,.fcart-dialog:has(.fav-picker){width:min(1190px,calc(100vw - 40px))!important;max-width:1190px!important;margin:auto!important;padding:0!important;border:0!important;border-radius:8px!important;overflow:hidden!important}
.forte-pdp-availability-dialog[open],.fco-dialog.fav-checkout-dialog[open],.fc-dialog.fav-catalog-dialog[open],.fcart-dialog:has(.fav-picker){display:flex!important;flex-direction:column;height:min(702px,calc(100dvh - 40px));max-height:calc(100dvh - 40px)}
.forte-pdp-availability-dialog>h2,.fav-checkout-dialog>h2,.fav-catalog-dialog>h2,.fcart-dialog:has(.fav-picker)>h2,.fav-checkout-dialog>header{flex-shrink:0;display:flex;align-items:center;flex-wrap:wrap;column-gap:5px;min-height:78px;margin:0!important;padding:20px 60px 20px 15px!important;background:#f7f7f7;color:#333;font:700 20px/1.43 'PT Sans',Arial,sans-serif}
.fav-checkout-dialog>header h2{margin:0;font:inherit}
.fav-city{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}
.fav-city:hover{color:#e77414}
.forte-pdp-availability-dialog>.forte-pdp-dialog__close,.fav-catalog-dialog>[data-stock-close],.fcart-dialog .fav-main-close{position:absolute;z-index:2;right:10px;top:10px;display:grid;place-items:center;width:40px!important;height:40px;min-height:40px;padding:0;margin:0;border:0;background:transparent;color:#999;font-size:26px;cursor:pointer}
.forte-pdp-availability-dialog>[data-pdp-availability-picker],.fav-checkout-dialog>[data-availability-host],.fav-catalog-dialog>[data-catalog-stock-host]{display:flex;flex:1;min-width:0;min-height:0}
.fav-catalog-content{display:flex;flex-direction:column;flex:1;width:100%;min-width:0;min-height:0}
.fav-catalog-content>.fav-picker{flex:1;min-height:0}
.forte-pdp-availability-dialog .fav-layout,.fav-checkout-dialog .fav-layout,.fav-catalog-dialog .fav-layout,.fcart-dialog .fav-layout{flex:1;height:auto;min-height:160px}
.fav-checkout-dialog>.fco-store-search[hidden],.fav-checkout-dialog>.fco-store-list[hidden]{display:none!important}
.fcart-dialog:has(.fav-picker){position:fixed}
.fcart-dialog:has(.fav-picker)::before{display:none}
.fcart-dialog>.fav-picker{flex:1}
.fcart-dialog .fav-picker button{width:auto;margin:0}
.fcart-dialog .fav-picker .fav-name{padding:0;height:auto;min-height:0;text-align:left;background:none;font:16px/1.43 'PT Sans',Arial,sans-serif}
.fcart-dialog .fav-picker .fav-chip{display:inline-flex;height:38px;font:14px/20px 'PT Sans',Arial,sans-serif}
.fcart-dialog .fav-picker .fav-buy{font:16px/1 'PT Sans',Arial,sans-serif}
.fcart-dialog .fav-picker .fav-tabs button{height:42px}
.fcart-dialog .fav-picker .fav-search-icon{display:grid;width:40px;height:38px;min-height:38px;padding:0}
.fcart-dialog .fav-picker .fav-detail-close{width:32px;min-height:32px;padding:0;font-size:24px;line-height:32px}
.is-checkout .fco-dialog.fav-checkout-dialog .fav-picker{background:#fff}
.is-checkout .fco-dialog.fav-checkout-dialog>header{position:relative;background:#f7f7f7;justify-content:flex-start;border:0}
.is-checkout .fco-dialog.fav-checkout-dialog>header h2{font:inherit;margin:0}
.is-checkout .fco-dialog.fav-checkout-dialog [data-dialog-close]{position:absolute;right:10px;top:10px;width:40px;height:40px;background:transparent;color:#999;line-height:40px}
@media(min-width:768px){.fav-map-wrap,.fav-list{display:block!important}}
@media(max-width:767px){
 .forte-pdp-availability-dialog,.fco-dialog.fav-checkout-dialog,.fc-dialog.fav-catalog-dialog,.fcart-dialog:has(.fav-picker){width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;padding:0!important}
 .forte-pdp-availability-dialog>h2,.fav-checkout-dialog>h2,.fav-catalog-dialog>h2,.fcart-dialog:has(.fav-picker)>h2,.fav-checkout-dialog>header{min-height:60px;padding:16px 54px 16px 15px!important;font-size:16px;box-shadow:0 2px 5px #0002;position:relative;z-index:1}
 .fav-tabs{display:flex;flex-shrink:0;gap:8px;padding:30px 16px 14px}
 .fav-tabs button{border:0;border-radius:8px;background:#f7f7f7;padding:10px 12px;color:#555;font:16px/22px 'PT Sans',Arial,sans-serif;cursor:pointer}
 .fav-tabs button[aria-pressed=true]{background:#fff;color:#333;font-weight:700;box-shadow:0 4px 9px #0002}
 .fav-view-list .fav-tabs button[aria-pressed=true]{color:#f58220}
 .fav-toolbar{padding:0 16px 10px;scrollbar-width:none}
 .fav-toolbar::-webkit-scrollbar{display:none}
 .fav-search{flex-basis:300px}
 .fav-search.is-compact{flex-basis:42px}
 .fav-search.is-compact input{width:42px;padding:0;color:transparent;pointer-events:none}
 .fav-search.is-compact input::placeholder{color:transparent}
 .fav-search.is-compact .fav-search-icon{width:42px;background:#f2f2f2}
 .fav-layout{display:block;min-height:160px;flex:1}
 .fav-list{height:100%;padding:0 16px;min-height:0}
 .fav-map-wrap{height:100%}
 .fav-view-map .fav-list,.fav-view-list .fav-map-wrap{display:none}
 .fav-store{padding:24px 0}
 .fav-stock{font-size:14px}
 .fav-map-card{bottom:12px;left:12px;right:12px}
 .fav-status{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.fav-picker *{scroll-behavior:auto!important}}

/* Carrier pickup uses the full-screen map and a 400px sidebar. */
.fco-dialog.fav-checkout-dialog.fco-point-dialog{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border-radius:0!important}
.fco-point-dialog .fav-picker{position:relative;flex:1;height:calc(100dvh - 58px)}
.fco-point-dialog .fav-toolbar{position:absolute;top:0;left:0;width:400px;z-index:2;flex-direction:column;align-items:stretch;background:#fff;padding:16px;overflow:visible}
.fco-point-dialog .fav-search{flex:auto;width:100%}.fco-point-dialog .fav-search input{height:44px}
.fco-point-dialog .fav-layout{height:100%;grid-template-columns:400px minmax(0,1fr)}
.fco-point-dialog .fav-list{padding-top:116px}.fco-point-dialog .fav-filters{flex-wrap:wrap;gap:6px}
.fav-carrier{padding:8px 12px;border:1px solid #f58220;border-radius:8px;background:#fff6ed;font-weight:700;font-size:14px}
@media(max-width:700px){.fco-point-dialog .fav-picker{height:calc(100dvh - 58px)}.fco-point-dialog .fav-toolbar{position:static;width:100%;padding:12px}.fco-point-dialog .fav-layout{grid-template-columns:1fr;flex:1;min-height:0}.fco-point-dialog .fav-list{padding-top:0}.fco-point-dialog .fav-tabs{flex-shrink:0}}

@media(min-width:701px){.fco-dialog.fco-point-dialog>header{height:58px;min-height:58px;padding:16px;flex-shrink:0}.fco-point-dialog .fav-map-card{display:none}.fco-point-dialog [data-availability-host]{flex:1;min-height:0}.fco-point-dialog .fav-picker{height:100%}}
