/* Local customer journey: choose a date, then discover the bakes. */
.date-planner,.pickup-ribbon,#pickup-dialog{--pick-ink:#173e56;--pick-blue:#14618f;--pick-note:#465c69;--pick-cream:#fff7e9;--pick-line:#aabcc5;--pick-orange:#e77c38}
.date-planner{position:relative;margin-top:24px;padding:30px;border:1px solid #e2c9a4;border-radius:24px;background:var(--pick-cream);color:var(--pick-ink);scroll-margin-top:24px}
.date-planner .eyebrow{color:#865024;font-size:12px;letter-spacing:1.6px}
.date-planner h2{max-width:680px;margin:8px 0 10px;font-size:clamp(32px,3vw,43px);line-height:1.12;color:var(--pick-ink)}
.date-planner>p:not(.eyebrow),.date-planner-heading>p:not(.eyebrow){max-width:64ch;font-size:15px;line-height:1.65;color:var(--pick-note)}
.date-planner-heading{margin-bottom:22px}
#customer-date-picker{margin-top:22px;min-width:0}
.date-planner .pickup-calendar{max-width:740px;margin-inline:auto}
.date-planner-status{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 16px;min-height:48px;border:1px solid #d4bb93;border-radius:12px;background:#fff;color:var(--pick-ink);font-size:14px;line-height:1.6}
.date-planner-status:empty{display:none}
.date-planner-status:not(:empty):before{content:'↗';display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#e4f0ec;color:#155640;font-size:15px;font-weight:700}
.pickup-ribbon{position:sticky;top:0;z-index:7;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:13px 18px;border:1px solid #173e56;border-radius:14px;background:var(--pick-ink);color:#fff;box-shadow:0 6px 18px #173e561a}
.pickup-ribbon-copy{min-width:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.pickup-ribbon-copy strong,.pickup-ribbon-copy small{display:block}
.pickup-ribbon-copy small{color:#f5ead8;font-size:12px}
.pickup-ribbon [data-open-date-picker]{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 16px;border:1px solid #fff;border-radius:9px;background:#fff;color:var(--pick-ink);font-size:14px;font-weight:700;line-height:1.3}
.pickup-ribbon [data-open-date-picker]:focus-visible{outline-color:#ffd791}
.pickup-calendar{min-width:0;padding:18px;border:1px solid var(--pick-line,#aabcc5);border-radius:18px;background:#fff;box-shadow:0 4px 16px #173e5608}
.pc-month-nav{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px;margin-bottom:16px}
.pc-month-nav>button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #91aab8;border-radius:12px;background:#f3f8fa;color:var(--pick-ink,#173e56);font-size:25px;line-height:1;transition:background .18s,transform .18s}
.pc-month-label{min-width:0;margin:0;text-align:center;color:var(--pick-ink,#173e56);font-family:var(--sans,Arial,sans-serif);font-size:20px;font-weight:700;line-height:1.35}
.pc-weekdays,.pc-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.pc-weekdays{margin-bottom:7px;color:#465c69;text-align:center;font-size:12px;font-weight:700;line-height:1.5}
.pc-weekdays>*{padding:5px 0;min-width:0}
.pc-days{align-items:stretch}
.pc-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:56px;padding:8px 2px;border:1px solid #9db2be;border-radius:10px;background:#fbfdfe;color:var(--pick-ink,#173e56);font-size:18px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;touch-action:manipulation}
.pc-day small{display:block;font-size:10px;font-weight:600;line-height:1.15}
.pc-day.is-today:not([aria-pressed=true]){border-color:#8f5425;box-shadow:inset 0 -3px 0 #e77c38}
.pc-day[aria-pressed=true]{border:2px solid var(--pick-ink,#173e56);background:var(--pick-blue,#14618f);color:#fff;box-shadow:0 3px 8px #173e5620}
.pc-day[aria-pressed=true]:after{content:'✓';position:absolute;right:4px;top:3px;font-size:10px;font-weight:700;line-height:1}
.pc-day:disabled,.pc-month-nav>button:disabled{opacity:1;cursor:not-allowed;border-color:#d5dadd;background:#f0f2f3;color:#68747b;box-shadow:none}
.pc-day:disabled{font-weight:400}
.pc-day[aria-hidden=true],.pc-day:empty,.pc-blank{visibility:hidden;pointer-events:none}
.pc-calendar-note,.pc-hint{margin-top:12px;color:var(--pick-note,#465c69);font-size:12px;line-height:1.6}
.quick-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:9px;margin:0 0 16px}
.quick-date{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:0;min-height:78px;padding:13px 15px;border:1px solid #9db2be;border-radius:13px;background:#fff;color:var(--pick-ink,#173e56);font-size:15px;font-weight:700;text-align:left;line-height:1.4;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.quick-date small{font-size:12px;font-weight:400;color:var(--pick-note,#465c69)}
.quick-date[aria-pressed=true]{padding:12px 14px;border:2px solid var(--pick-blue,#14618f);background:#edf6fa}
.quick-date[aria-pressed=true]:after{content:'✓';position:absolute;right:8px;top:7px;color:var(--pick-blue,#14618f);font-size:13px}
#customer-quick-dates{margin-top:22px;margin-bottom:14px}
#customer-quick-dates .quick-date{min-height:112px;align-items:center;text-align:center;gap:4px}
#customer-quick-dates .quick-date>strong{font-size:32px;line-height:1.15;font-variant-numeric:tabular-nums}
#customer-quick-dates .quick-date>span{font-size:13px;font-weight:600}
#customer-quick-dates .quick-date>small{font-size:13px}
#customer-more-dates,#customer-browse-date{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 19px;margin:0 9px 0 0;border:1px solid #7d99a9;border-radius:11px;background:#fff;color:var(--pick-ink,#173e56);font-size:14px;font-weight:700;line-height:1.5;text-align:center;transition:background .18s,transform .18s}
#customer-more-dates[aria-expanded=true]{background:#edf6fa;border-color:var(--pick-blue,#14618f)}
#customer-browse-date{background:var(--pick-blue,#14618f);border-color:var(--pick-blue,#14618f);color:#fff}
#customer-browse-date:disabled{opacity:1;background:#e3e8eb;color:#526570;border-color:#bdc8cd}
.pickup-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 20px}
.pickup-progress button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:50px;padding:10px;border:1px solid #a1b7c3;border-radius:10px;background:#fff;color:var(--pick-ink,#173e56);font-size:13px;font-weight:700;line-height:1.4}
.pickup-progress button[aria-current=step]{border-color:var(--pick-blue,#14618f);background:var(--pick-blue,#14618f);color:#fff}
.pickup-progress button:disabled{opacity:1;background:#f0f2f3;color:#68747b;border-color:#d5dadd}
.pickup-progress button>span:first-child:not(:only-child){display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border:1px solid currentColor;border-radius:50%;font-size:11px;font-weight:600}
.pickup-step-title{margin:0 0 10px;color:var(--pick-ink,#173e56);font-family:var(--sans,Arial,sans-serif);font-size:18px;font-weight:700;line-height:1.5}
.pickup-date-summary{margin:0 0 16px;padding:12px 14px;border-left:3px solid #e77c38;border-radius:0 8px 8px 0;background:#fff7e9;color:var(--pick-ink,#173e56);font-size:14px;line-height:1.6}
.pickup-step-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid #c5d2d9}
.pickup-step-actions button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:120px;min-height:52px;padding:12px 18px;border:1px solid #7d99a9;border-radius:11px;background:#fff;color:var(--pick-ink,#173e56);font-size:15px;font-weight:700;line-height:1.5}
.pickup-step-actions #pickup-next,.pickup-step-actions #pickup-save{margin-left:auto;border-color:var(--pick-blue,#14618f);background:var(--pick-blue,#14618f);color:#fff}
.pickup-step-actions button:disabled{opacity:1;background:#e3e8eb!important;color:#526570!important;border-color:#bdc8cd!important}
.bake-day-choices{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.bake-day-choices button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border:1px solid #91aab8;border-radius:9px;background:#fff;color:#173e56;font-size:14px;font-weight:600;line-height:1.4;transition:background .18s,border-color .18s}
.bake-day-choices button[aria-pressed=true]{border-color:#14618f;background:#14618f;color:#fff}
.bake-day-choices button[aria-pressed=true]:after{content:'✓';margin-left:8px;font-size:12px}
.bake-day-choices button:focus-visible{outline:3px solid #173e56;outline-offset:3px}
.pickup-step{min-width:0;margin:24px 0 0;padding:0;border:0}
.pickup-step>h3,.pickup-step>legend{display:block;width:100%;padding:0;margin-bottom:10px;font-family:var(--sans,Arial,sans-serif);font-size:16px;font-weight:700;line-height:1.5;color:var(--pick-ink,#173e56)}
.pickup-step>p{margin:0 0 12px;color:var(--pick-note,#465c69);font-size:14px;line-height:1.6}
.pickup-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pickup-choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;min-width:0;min-height:82px;padding:16px 34px 16px 16px;border:1px solid #9db2be;border-radius:13px;background:#fff;color:var(--pick-ink,#173e56);text-align:left;line-height:1.5;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.pickup-choice .choice-title,.pickup-choice>strong{font-size:15px;font-weight:700;color:inherit;line-height:1.4}
.pickup-choice .choice-note,.pickup-choice>small{font-size:12px;color:var(--pick-note,#465c69);font-weight:400;line-height:1.6;overflow-wrap:anywhere}
.pickup-choice[aria-pressed=true]{padding:15px 33px 15px 15px;border:2px solid var(--pick-blue,#14618f);background:#edf6fa;box-shadow:0 3px 8px #173e560b}
.pickup-choice[aria-pressed=true]:after{content:'✓';position:absolute;right:10px;top:12px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--pick-blue,#14618f);color:#fff;font-size:12px;font-weight:700;line-height:1}
.pickup-choice:disabled,.quick-date:disabled{opacity:1;cursor:not-allowed;border-color:#d5dadd;background:#f0f2f3;color:#68747b;box-shadow:none}
.pickup-choice:disabled .choice-note,.pickup-choice:disabled>small,.quick-date:disabled small{color:#68747b}
#pickup-dialog{width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 28px);padding:28px;border-radius:22px;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}
#pickup-dialog .dialog-header{align-items:center;margin-bottom:18px}
#pickup-dialog .dialog-header h2{color:var(--pick-ink);font-size:34px}
#pickup-dialog .form-intro,#pickup-dialog .field-hint{color:var(--pick-note);font-size:14px;line-height:1.6}
#pickup-dialog .form-error{font-size:14px;color:#8c231c}
#pickup-dialog .pickup-mode-note{color:#723809;background:#fff0d9;font-size:13px;font-weight:700}
#pickup-dialog .selected-location{background:#f3f8fa;border-color:#aac1cd;color:var(--pick-ink)}
#pickup-dialog .selected-location address,#pickup-dialog .selected-location small{color:var(--pick-note)}
#pickup-dialog #pickup-form>.button{min-height:54px;margin-top:18px;border-radius:12px;font-size:16px;font-weight:700;background:var(--pick-blue);color:#fff}
#pickup-dialog #pickup-form>.button:disabled{opacity:1;background:#e3e8eb;color:#526570;border-color:#bdc8cd}
.catalog-sidebar .search-label{color:#173e56;font-size:14px;font-weight:700}
.catalog-sidebar .menu-search input{min-height:48px;color:#173e56;font-size:16px;border-color:#96afbd}
.catalog-sidebar .menu-search input::placeholder{color:#526a78;opacity:1}
.catalog-sidebar .filters{gap:8px}
.catalog-sidebar .filters button{min-height:46px;border-color:#9db2be;background:#fff;color:#244a61;font-size:14px;line-height:1.5}
.catalog-sidebar .filters button.active,.catalog-sidebar .filters button[aria-pressed=true]{border-color:#14618f;background:#14618f;color:#fff}
.catalog-sidebar .filters button span{color:inherit}
.date-planner button:focus-visible,.pickup-ribbon button:focus-visible,#pickup-dialog button:focus-visible,.catalog-sidebar button:focus-visible,.catalog-sidebar input:focus-visible{outline:3px solid #173e56;outline-offset:3px}
.pickup-ribbon button:focus-visible{outline-color:#ffd791}
.pc-day:focus-visible{z-index:1}
/* Keep the existing Bread Club design, with darker copy and clear control states. */
#monthly-club-builder{--mcb-muted:#465c69}
#monthly-club-builder .mcb-choice-label,#monthly-club-builder .mcb-date-breads>span{color:#65411f}
#monthly-club-builder .mcb-month-choice small,#monthly-club-builder .mcb-day-choice small,#monthly-club-builder .mcb-calendar-legend,#monthly-club-builder .mcb-branch-address{color:#465c69}
#monthly-club-builder .mcb-wizard-nav button:disabled{opacity:1;background:#f1f3f4;color:#526570;border-color:#c5cfd4}
#monthly-club-builder .mcb-calendar-day:disabled{opacity:1;background:#f0f2f3;color:#68747b;border-color:#d5dadd}
#monthly-club-builder .mcb-calendar-day,#monthly-club-builder .mcb-month-choice,#monthly-club-builder .mcb-day-choice,#monthly-club-builder .mcb-back-button,#monthly-club-builder .mcb-edit-pickup{min-height:44px}
@media(hover:hover) and (pointer:fine){
  .pc-day:not(:disabled):not([aria-pressed=true]):hover{background:#fff0cc;border-color:#a15c23;transform:translateY(-2px);box-shadow:0 4px 8px #173e5612}
  .quick-date:not(:disabled):hover,.pickup-choice:not(:disabled):hover{border-color:#14618f;background:#f4f9fb;transform:translateY(-2px);box-shadow:0 5px 12px #173e5610}
  .pc-month-nav>button:not(:disabled):hover{background:#fff0cc;transform:translateY(-1px)}
  .pickup-ribbon [data-open-date-picker]:hover{background:#ffebc7}
  #customer-more-dates:hover{background:#edf6fa;transform:translateY(-1px)}
  #customer-browse-date:not(:disabled):hover,.pickup-step-actions #pickup-next:not(:disabled):hover,.pickup-step-actions #pickup-save:not(:disabled):hover{background:#104f74}
  .bake-day-choices button:not([aria-pressed=true]):hover{background:#edf6fa;border-color:#14618f}
  .catalog-sidebar .filters button:hover:not(.active){background:#edf6fa;border-color:#14618f}
}
@media(max-width:960px){
  .pickup-ribbon{top:82px}
  .date-planner{scroll-margin-top:170px}
}
@media(max-width:600px){
  .date-planner{padding:22px 16px;margin-top:18px;border-radius:19px}
  .date-planner h2{font-size:32px}
  .date-planner>p:not(.eyebrow),.date-planner-heading>p:not(.eyebrow){font-size:14px}
  .date-planner .eyebrow{font-size:11px;letter-spacing:1.2px}
  #customer-date-picker{margin-top:18px}
  .date-planner-status{font-size:13px;padding:11px 12px}
  .pickup-ribbon{gap:9px;padding:10px 12px;border-radius:12px}
  .pickup-ribbon-copy{font-size:13px;line-height:1.45}
  .pickup-ribbon-copy small{font-size:11px}
  .pickup-ribbon [data-open-date-picker]{font-size:13px;min-height:46px;padding:9px 12px}
  .pickup-calendar{padding:12px;border-radius:15px}
  .pc-month-nav{grid-template-columns:46px minmax(0,1fr) 46px;gap:8px;margin-bottom:12px}
  .pc-month-nav>button{width:46px;height:46px;border-radius:10px}
  .pc-month-label{font-size:18px}
  .pc-weekdays{font-size:11px}
  .pc-weekdays,.pc-days{gap:3px}
  .pc-day{min-height:52px;border-radius:8px;font-size:16px}
  .pc-day[aria-pressed=true]:after{top:2px;right:2px;font-size:9px}
  .quick-dates{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px}
  .quick-date{min-height:72px;padding:12px;font-size:14px}
  .quick-date[aria-pressed=true]{padding:11px}
  .quick-date small{font-size:12px}
  #customer-quick-dates{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px}
  #customer-quick-dates .quick-date{min-height:105px;padding:11px 7px}
  #customer-quick-dates .quick-date[aria-pressed=true]{padding:10px 6px}
  #customer-quick-dates .quick-date>strong{font-size:28px}
  #customer-more-dates,#customer-browse-date{font-size:13px;padding:11px 13px;margin-right:5px;margin-bottom:7px;min-height:48px}
  .pickup-progress{gap:6px}
  .pickup-progress button{font-size:12px;padding:9px 6px;gap:6px}
  .pickup-step-actions{gap:10px;margin-top:20px;padding-top:16px}
  .pickup-step-actions button{min-width:0;flex:1 1 0;padding:12px;font-size:14px}
  .bake-day-choices{gap:7px}
  .bake-day-choices button{min-height:46px;padding:10px 13px;font-size:13px}
  .pickup-step{margin-top:22px}
  .pickup-choices{gap:8px}
  .pickup-choice{min-height:86px;padding:13px 29px 13px 12px;border-radius:11px}
  .pickup-choice[aria-pressed=true]{padding:12px 28px 12px 11px}
  .pickup-choice[aria-pressed=true]:after{right:7px;top:9px;width:17px;height:17px;font-size:11px}
  .pickup-choice .choice-title,.pickup-choice>strong{font-size:14px}
  .pickup-choice .choice-note,.pickup-choice>small{font-size:12px}
  #pickup-dialog{padding:20px 16px;width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:17px;scrollbar-gutter:auto}
  #pickup-dialog .dialog-header h2{font-size:30px}
  #pickup-dialog .form-intro,#pickup-dialog .field-hint{font-size:13px}
  #pickup-dialog [data-pickup-location],#pickup-dialog .pickup-location-choice{min-height:106px}
  #pickup-dialog .pickup-choices:has([data-pickup-location]),#pickup-dialog .pickup-choices:has(.pickup-location-choice){grid-template-columns:1fr}
  #pickup-branch-choices{grid-template-columns:1fr}
  .catalog-sidebar .filters button{min-height:46px;font-size:14px;padding:10px 12px}
}
@media(max-width:460px){
  .date-planner .pickup-calendar,#pickup-dialog .pickup-calendar{position:relative;left:50%;width:calc(100vw - 20px);max-width:none;transform:translateX(-50%);padding:10px 6px}
  .pc-weekdays,.pc-days{gap:2px}
}
@media(max-width:360px){
  .date-planner{padding:20px 12px}
  .date-planner h2{font-size:29px}
  .date-planner .pickup-calendar,#pickup-dialog .pickup-calendar{width:calc(100vw - 8px);padding:10px 0;border-radius:13px}
  .pc-month-nav,.pc-calendar-note,.pc-hint{margin-inline:10px}
  .pc-weekdays,.pc-days{gap:0}
  .pc-day{min-height:52px;border-radius:7px}
  .pickup-ribbon{padding:9px;gap:7px}
  .pickup-ribbon [data-open-date-picker]{padding:9px;font-size:12px}
  .pickup-ribbon-copy{font-size:12px}
  #pickup-dialog{width:calc(100% - 8px);padding:18px 12px}
  .pickup-choice .choice-title,.pickup-choice>strong{font-size:13px}
  .pickup-progress button{font-size:11px;gap:4px}
  .pickup-progress button>span:first-child:not(:only-child){width:19px;height:19px;flex-basis:19px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  .pc-day,.pc-month-nav>button,.quick-date,.pickup-choice,.pickup-ribbon button,#customer-more-dates,#customer-browse-date,.bake-day-choices button{transition:none!important;animation:none!important;transform:none!important}
}
/* Keep the primary choices readable for customers of all ages. */
.pickup-choice .choice-title,.pickup-choice>strong{font-size:16px}
.pickup-choice .choice-note,.pickup-choice>small{font-size:14px}
.pickup-progress button{font-size:14px}
.date-planner-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
.date-planner-bottom .date-planner-status{margin:0;flex:1}
.date-planner-bottom #customer-browse-date{margin:0;flex:none}
#plan-date,#menu,#customer-reviews{scroll-margin-top:100px}
@media(max-width:960px){#plan-date,#menu,#customer-reviews{scroll-margin-top:180px}}
@media(max-width:600px){.date-planner-bottom{align-items:stretch;flex-direction:column}.date-planner-bottom #customer-browse-date{width:100%}}
