/* Main-page date-row appearance, shared by Specials and Events. */
.shared-date-picker{position:relative}
.shared-date-picker .shared-date-controls{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:stretch;gap:8px;width:100%;max-width:420px;margin:0 auto}
.shared-date-picker .shared-date-controls button{display:block;min-width:0;min-height:44px;height:auto;padding:2px;border:1px solid var(--search-control-edge,#bbd7de);border-radius:9px;background:var(--search-control-bg,#edf4fa);color:var(--search-label,#18344b);font:inherit;font-size:1.25rem;text-align:center;cursor:pointer}
.shared-date-picker #event-calendar-toggle,.shared-date-picker #menu-calendar-toggle{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;padding:8px 10px;background:#edf4fa;border-color:#becfdc;color:#18344b;box-shadow:0 2px 6px #103f4810;font:600 .875rem/1.3 var(--control-font-family,Arial,Helvetica,sans-serif);text-align:center}
.shared-date-picker button:disabled{opacity:.4;cursor:default}
.shared-date-picker button:focus-visible{outline:3px solid #b7661a;outline-offset:2px}
.shared-date-picker [hidden]{display:none!important}
.shared-date-picker.calendar-expanded{z-index:20}
.shared-date-picker .shared-calendar-panel{position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:0;width:100%;max-width:440px;margin:0 auto;padding:12px;box-sizing:border-box;background:linear-gradient(125deg,#d2e3ec,#e3eef3);border:1px solid #b9cfdb;border-radius:14px;box-shadow:0 10px 30px #143d5633}
#event-calendar.calendar-expanded .event-date-navigation{margin-bottom:0}
#event-calendar.calendar-expanded #event-calendar-details{display:block}
.shared-calendar-heading{display:grid;grid-template-columns:36px minmax(0,1fr) 36px auto;gap:7px;align-items:center;margin-bottom:10px}
.shared-calendar-heading h2{font-size:.9375rem;text-align:center;color:var(--search-label,#18344b);margin:0}
.shared-calendar-panel button{font-family:inherit;border:1px solid var(--search-control-edge,#bbd7de);background:var(--search-control-bg,#edf4fa);color:var(--search-label,#18344b);cursor:pointer;border-radius:7px}
.shared-calendar-heading button{min-height:36px;padding:4px 9px;font-size:1.25rem}
.shared-calendar-heading [data-today]{font-size:.75rem;padding:6px 9px}
.shared-calendar-weekdays,.shared-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.shared-calendar-weekdays{margin-bottom:5px;text-align:center;font-size:.625rem;color:var(--search-help,#486173);font-weight:700}
.shared-calendar-days button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;padding:4px 1px;line-height:1.2;font-size:.8125rem;font-weight:700}
.shared-calendar-days button[aria-current=date]{border-color:var(--sea);box-shadow:inset 0 0 0 1px var(--sea)}
.shared-calendar-days button[aria-pressed=true]{background:var(--coastal-gradient);color:#fff;border-color:#285d71}
@media(max-width:700px){
 .shared-date-picker .shared-date-controls{grid-template-columns:48px minmax(0,1fr) 48px;gap:5px}
 .shared-date-picker #event-calendar-toggle,.shared-date-picker #menu-calendar-toggle{padding:8px 5px;border-radius:7px;font-size:.8125rem}
 .menu-date-bar.shared-date-picker .shared-calendar-panel{left:16px;right:16px;width:calc(100% - 32px)}
}
@media(max-width:360px){.shared-calendar-panel{padding:9px}.shared-calendar-heading{gap:4px;grid-template-columns:30px minmax(0,1fr) 30px auto}.shared-calendar-heading h2{font-size:.8125rem}.shared-calendar-weekdays,.shared-calendar-days{gap:3px}}

.events-page .event-search-calendar-layout .event-mini-calendar.shared-date-picker{background:transparent;border:0;box-shadow:none;padding:0}
@media(min-width:850px){.menu-date-bar.shared-date-picker .shared-calendar-panel{right:auto;max-width:420px;margin:0}}


/* Phone-style date modal: top-layer dialog, independent of the sticky header. Desktop stays anchored. */
.phone-calendar{box-sizing:border-box;width:min(364px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;padding:0;border:1px solid #7495a1;border-radius:22px;background:linear-gradient(115deg,#153c54,#286578);color:white;box-shadow:0 24px 80px #0008;overflow:auto;overscroll-behavior:contain}
.phone-calendar::backdrop{background:rgba(7,24,35,.64)}
.phone-calendar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px 10px}.phone-calendar-top h2{margin:0;color:white;font:600 20px/1.2 Arial}.phone-calendar button{font-family:Arial}.phone-calendar-close{width:44px;height:44px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff14;color:white;font-size:28px;line-height:1}.phone-calendar-footer{display:flex;justify-content:flex-end;padding:4px 16px 16px}.phone-calendar-cancel{min-height:44px;padding:10px 20px;background:white;color:#153c54;border:0;border-radius:10px;font-weight:700;font-size:14px}.phone-calendar .shared-calendar-panel{position:static!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:10px 14px 14px;border:0;border-radius:0;background:transparent;box-shadow:none}.phone-calendar :is(.shared-calendar-heading,.event-calendar-heading){grid-template-columns:40px minmax(0,1fr) 40px auto;gap:5px;margin-bottom:14px}.phone-calendar :is(.shared-calendar-heading,.event-calendar-heading) h2{font-size:16px}.phone-calendar :is(.shared-calendar-heading,.event-calendar-heading) button{min-height:44px}.phone-calendar :is(.shared-calendar-days,.event-calendar-days){gap:5px}.phone-calendar :is(.shared-calendar-days,.event-calendar-days) button{min-height:44px;font-size:15px;border-radius:9px}.phone-calendar :is(.shared-calendar-weekdays,.event-calendar-weekdays){font-size:11px;margin-bottom:8px}.phone-calendar button:focus-visible{outline:3px solid white;outline-offset:2px}.phone-calendar button{scroll-margin:8px}
@media(max-width:360px){.phone-calendar .shared-calendar-panel{padding:8px 10px 12px}.phone-calendar :is(.shared-calendar-heading,.event-calendar-heading){grid-template-columns:34px minmax(0,1fr) 34px auto;gap:3px}.phone-calendar :is(.shared-calendar-heading,.event-calendar-heading) h2{font-size:14px}.phone-calendar :is(.shared-calendar-heading,.event-calendar-heading) button{padding:4px}.phone-calendar :is(.shared-calendar-days,.event-calendar-days){gap:3px}.phone-calendar :is(.shared-calendar-days,.event-calendar-days) button{min-height:44px}.phone-calendar-top{padding:12px 12px 4px}}
.phone-calendar button:disabled{opacity:.4;cursor:default}

.phone-calendar [hidden]{display:none!important}
.phone-calendar .shared-calendar-panel button{border:1px solid #dce5ed;background:white;color:#153c54;cursor:pointer}
.phone-calendar :is(.shared-calendar-heading,.event-calendar-heading) h2,.phone-calendar :is(.shared-calendar-weekdays,.event-calendar-weekdays),.phone-calendar .event-calendar-hint{color:white}
.phone-calendar :is(.shared-calendar-days,.event-calendar-days) button[aria-current=date]{border-color:#153c54;box-shadow:inset 0 0 0 1px #153c54}
.phone-calendar :is(.shared-calendar-days,.event-calendar-days) button[aria-pressed=true]{background:#286578;color:white;border-color:white;box-shadow:inset 0 0 0 1px white}
.phone-calendar .event-calendar-days small{color:#405c74}.phone-calendar .event-calendar-days button[aria-pressed=true] small{color:white}
.phone-calendar .event-calendar-days button>span{font-size:15px}.phone-calendar :is(.shared-calendar-heading,.event-calendar-heading) button{min-width:0}
.phone-calendar .shared-calendar-panel button:focus-visible{outline:3px solid #153c54;outline-offset:1px;box-shadow:0 0 0 5px white}
