/* Public navigation and agenda refinements. Loaded after the incumbent styles. */
.public-languages{position:relative;flex:none;color:#53627f}
.public-languages>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:56px;min-height:48px;padding:6px 10px;list-style:none;border-radius:12px;cursor:pointer;font-size:11px;font-weight:600;color:#53627f;background:#f4f6fc;touch-action:manipulation}
.public-languages>summary::-webkit-details-marker{display:none}
.public-languages>summary .icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.public-languages[open]>summary{background:#eaf0ff;color:#1648ed}
.public-language{overflow:visible!important;flex-wrap:nowrap!important}
.public-language-options{position:absolute;inset-inline-end:0;top:calc(100% + 10px);width:200px;max-width:calc(100vw - 32px);padding:6px;background:#fff;border:1px solid #dce4f2;border-radius:14px;z-index:70}
.public-language-options>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:9px;background:#fff;color:#182642;text-align:start;font-size:14px;touch-action:manipulation}
.public-language-options>button[aria-pressed=true]{background:#edf2ff;color:#1648ed;font-weight:700}
.public-language-options .icon{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2}
body:not(.kpro) header.top:has(.public-languages){position:relative;z-index:50;overflow:visible}
.public-languages summary:focus-visible,.public-language-options button:focus-visible,.agenda-date-picker:focus-within{outline:2px solid #1648ed;outline-offset:3px}
.public-languages summary:active,.public-language-options button:active{transform:scale(.97)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* A date is a compact tool, kept beside the selected day's heading. */
.agenda-calendar{padding:16px 18px 12px}
.agenda-calendar .agenda-day-heading{border-top:0;padding:0 0 16px;flex-wrap:wrap;gap:12px}
.agenda-calendar .agenda-day-heading h3{font-size:17px;line-height:1.4;flex:1;min-width:150px;margin:0}
.agenda-date-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.agenda-calendar .agenda-date-picker{display:block;margin:0;padding:0;flex:none;width:150px;min-width:0;color:#53627f}
.agenda-calendar .agenda-date-picker input{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;margin:0;padding:8px 10px;background:#f5f7fc;border:1px solid #dce4f2;border-radius:10px;font-size:16px;color:#182642;font-family:inherit;color-scheme:light}
.agenda-calendar .agenda-today{height:44px;min-height:44px;border-radius:10px;padding:8px 12px;font-size:12px}
.agenda-calendar .wkh{margin:0 0 10px}
.agenda-calendar .wkh .arr{width:44px;height:44px}
.agenda-calendar .wkdots{margin:10px 0 0}
.agenda-calendar .wkd{min-height:64px;border-radius:12px}
.agenda-intro .faith-kicker,.agenda-section-heading .faith-kicker{display:none}

/* Prayer references share the photographic character of the offices. */
.agenda-meetings .agenda-prayer-references{position:relative;isolation:isolate;box-sizing:border-box;overflow:hidden;padding:24px;border:0;border-radius:22px;background:linear-gradient(100deg,#101e52f5,#101e52db),url('/img/tefila-avraham.png') center/cover;color:#fff;min-height:264px;margin:0;display:flex;flex-direction:column;justify-content:center}
.agenda-meetings .agenda-prayer-references h4{font-size:18px;font-weight:600;line-height:1.3;margin:0 0 20px;color:#fff}
.agenda-meetings .agenda-prayer-references dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:18px;margin:0 0 18px}
.agenda-meetings .agenda-prayer-references dl>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:0;border:0;min-width:0}
.agenda-meetings .agenda-prayer-references dt{font-size:11px;line-height:1.5;color:#e2e9ff;max-width:100%;overflow-wrap:anywhere}
.agenda-meetings .agenda-prayer-references dd{font-size:26px;line-height:1.1;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:0;color:#fff}
.agenda-meetings .agenda-prayer-references small{display:block;max-width:60ch;font-size:10px;line-height:1.6;color:#dce5ff;margin:0}
.minyan-box .minyan-status.confirmed span{display:block;font-size:11px;font-weight:600;letter-spacing:0;color:#fff;line-height:1.4}
.minyan-box .minyan-status.confirmed span::before{content:'';display:inline-block;width:6px;height:6px;margin-inline-end:6px;border-radius:50%;background:#b3edcc;vertical-align:middle}
.agenda-meetings .evc:has(.minyan-box) .minyan-status{min-width:0}
.agenda-meetings .evc:has(.minyan-box) .minyan-status span{font-size:11px}

/* Color follows the course of the day: dawn, daylight, evening. */
.agenda-daily .zmanim-panel{border-color:#dce4f2;background:#fff;padding:20px;border-radius:20px}
.zmanim-panel .faith-heading .faith-kicker{display:none}
.agenda-daily .zmanim-panel .faith-heading{margin:4px 0 18px;align-items:center;flex-direction:row;flex-wrap:wrap}
.agenda-daily .zmanim-panel .faith-heading h3{font-size:24px;letter-spacing:-.02em}
.zmanim-panel .faith-date{background:#edf2ff;color:#29468c}
.agenda-daily .zmanim-panel .religious-times{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.agenda-daily .zman-tile{padding:15px 12px;gap:8px;border-radius:12px;min-height:115px;justify-content:center}
.agenda-daily .zman-tile[data-period=morning]{background:#fff4e3;color:#735025}
.agenda-daily .zman-tile[data-period=day]{background:#edf3ff;color:#23468e}
.agenda-daily .zman-tile[data-period=evening]{background:#f0eef9;color:#514573}
.agenda-daily .zman-tile>span{color:inherit;font-size:12px;line-height:1.4;font-weight:500}
.agenda-daily .zman-tile strong{color:inherit;font-size:25px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.agenda-daily .zman-tile small{color:inherit;font-size:10px}

/* One search covers every grocery store without losing its merchant context. */
.grocery-search-hint{font-size:12px;color:#58657b;margin:-8px 0 2px;line-height:1.5}
.grocery-search-summary{font-size:13px;color:#58657b;margin:0 0 18px}
.grocery-result-group{margin:0 0 26px;min-width:0}
.grocery-result-group h3{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:20px;margin:0 0 12px;color:#182642}
.grocery-result-group h3 small{font-size:12px;font-weight:400;color:#58657b}
.grocery-result{background:#fff;border:1px solid #dce4f2;border-radius:14px;overflow:hidden;min-width:0}
.grocery-result .pc{border:0;border-radius:0;box-shadow:none;margin:0}
.grocery-result-link{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;background:#f5f7fc;color:#29468c;font-size:12px;text-align:start;padding:10px 16px;border-radius:0}
.grocery-result-link span{font-size:18px;flex:none}
.grocery-result-link:focus-visible{outline:2px solid #1648ed;outline-offset:-3px}

@media(hover:hover) and (pointer:fine){
 .public-languages>summary:hover,.public-language-options>button:hover{background:#edf2ff;color:#1648ed}
 .grocery-result-link:hover{background:#eaf0ff}
}
@media(max-width:700px){
 .agenda-client-layout,.agenda-meetings{grid-template-columns:minmax(0,1fr)}
 .agenda-calendar{padding:14px 12px 10px;border-radius:18px}
 .agenda-calendar .agenda-day-heading{gap:10px;padding-bottom:12px}
 .agenda-calendar .agenda-day-heading h3{flex-basis:100%;font-size:17px}
 .agenda-date-tools{justify-content:space-between;width:100%}
 .agenda-calendar .agenda-date-picker{width:150px}
 .agenda-calendar .wkh b{font-size:13px}
 .agenda-calendar .wkg{gap:4px}
 .agenda-calendar .wkd{padding:8px 2px;min-height:58px;border-radius:10px}
 .agenda-calendar .wkd b{font-size:18px}
 .agenda-calendar .wkd span{font-size:10px}
 .agenda-meetings .agenda-prayer-references{padding:22px;min-height:0}
 .agenda-meetings .agenda-prayer-references h4{font-size:18px;margin-bottom:18px}
 .agenda-meetings .agenda-prayer-references dd{font-size:25px}
 .agenda-meetings .agenda-prayer-references small{font-size:11px}
 /* The images are 3:2. A matching canvas shows every edge on iPhone. */
 .agenda-meetings .evc:has(.minyan-box){aspect-ratio:3/2;min-height:0;background:#101e52;display:block}
 .agenda-meetings .evc:has(.minyan-box)::before{inset:0;width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:center;transform:none;filter:none;animation:prayerMobileLight 14s ease-in-out infinite alternate;will-change:auto}
 .agenda-meetings .evc:has(.minyan-box) .evt{box-sizing:border-box;min-height:0;height:100%;padding:20px 20px 74px;justify-content:flex-start;background:linear-gradient(90deg,#0e173cd9,#0e173c4d 62%,#0e173c0a)}
 .agenda-meetings .evc:has(.minyan-box) .evt time{font-size:46px;line-height:1.1}
 .agenda-meetings .evc:has(.minyan-box) .evt time:has(+b){font-size:25px}
 .agenda-meetings .evc:has(.minyan-box) .evt b{font-size:13px;letter-spacing:.08em;margin-top:9px}
 .agenda-meetings .evc:has(.minyan-box) .evt>span{font-size:11px;line-height:1.5;max-width:78%;margin-top:5px}
 .agenda-meetings .evc:has(.minyan-box) .minyan-box{left:20px;right:20px;bottom:16px}
 .agenda-daily .zmanim-panel .religious-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .agenda-daily .zmanim-panel{padding:18px 16px}
 .agenda-daily .zman-tile{padding:14px;min-height:108px}
 .grocery-result-group h3{font-size:18px}
}
@media(max-width:360px){
 .agenda-meetings .evc:has(.minyan-box) .evt{padding:16px 16px 66px}
 .agenda-meetings .evc:has(.minyan-box) .evt time{font-size:40px}
 .agenda-meetings .evc:has(.minyan-box) .evt time:has(+b){font-size:22px}
 .agenda-meetings .evc:has(.minyan-box) .evt>span{font-size:10px;max-width:90%}
 .agenda-meetings .evc:has(.minyan-box) .minyan-box{left:16px;right:16px;bottom:12px;gap:8px}
 .agenda-meetings .evc:has(.minyan-box) .minyan-status strong{font-size:16px}
 .agenda-meetings .evc:has(.minyan-box) .minyan-status span{font-size:10px}
 .minyan-box button{padding:10px 14px}
}
@keyframes prayerMobileLight{from{opacity:.88}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.agenda-meetings .evc:has(.minyan-box)::before{animation:none;opacity:1;transform:none}}

/* Matching header controls: one icon family, one surface and one touch size. */
.public-language>.btn[data-v="cart"],.public-languages>summary{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:44px;padding:10px 12px;background:#fff;border:1px solid #dce4f2;border-radius:14px;color:#182642;font-size:13px;font-weight:500;line-height:1.2}
.public-language>.btn[data-v="cart"] .icon,.public-languages>summary .icon{width:20px;height:20px;flex:none;stroke-width:1.8}
.public-language>.btn[data-v="cart"] b{font-size:11px;color:#1648ed}
.public-languages[open]>summary{background:#edf2ff;border-color:#bdcdfb;color:#1648ed}
.public-language{gap:8px}
header.top>.row.sp{flex-wrap:nowrap}
.agenda-event-track{display:contents}
.agenda-event-controls{display:none}
.qty button:disabled,.btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important}
.address-autocomplete:empty{display:none}
.address-autocomplete{display:grid;gap:4px;margin:-8px 0 16px;padding:6px;border:1px solid #dce4f2;background:white;border-radius:12px}
.address-option{display:block;width:100%;min-height:44px;text-align:start;font-size:14px;line-height:1.5;padding:10px 12px;color:#182642;background:#fff;border-radius:8px}
.address-autocomplete .mute{padding:4px 8px;font-size:12px;line-height:1.5;margin:0}
.address-option:focus-visible{outline:2px solid #1648ed;outline-offset:-2px}
#kosh-help{position:fixed;inset-inline-end:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:45;font-family:var(--body),sans-serif;color:#182642}
.help-launcher{width:52px;height:52px;min-height:52px;display:grid;place-items:center;border-radius:50%;background:#1648ed;color:white;border:0;box-shadow:0 6px 18px #101e522e}
.help-launcher svg{width:25px;height:25px}
.help-panel[hidden]{display:none}
.help-panel{position:absolute;bottom:64px;inset-inline-end:0;width:min(360px,calc(100vw - 32px));height:min(510px,70dvh);display:flex;flex-direction:column;background:#fff;border:1px solid #dce4f2;border-radius:18px;overflow:hidden}
.help-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f5f7fc;padding:14px 16px;border-bottom:1px solid #e4eaf4}
.help-panel>header b{font-size:16px;display:block}
.help-panel>header small{font-size:11px;display:block;color:#58657b;margin-top:4px}
.help-panel>header button{width:44px;height:44px;min-height:44px;flex:none;border-radius:10px;background:#edf2ff;color:#182642;font-size:24px}
.help-messages{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px;display:flex;flex-direction:column;gap:12px}
.help-message{font-size:14px;line-height:1.6;margin:0;padding:12px;border-radius:12px;background:#f2f5fc;color:#182642;max-width:92%;white-space:pre-wrap;overflow-wrap:anywhere}
.help-message.user{align-self:flex-end;background:#1648ed;color:#fff}
.help-pending{font-size:12px;line-height:1.5;color:#58657b}
.help-form{display:flex;align-items:center;gap:8px;padding:12px 12px 8px;border-top:1px solid #edf0f6}
.help-form input{margin:0;min-width:0;flex:1;font-size:16px;padding:10px;min-height:44px;border-radius:10px}
.help-form button{width:44px;height:44px;min-height:44px;flex:none;border-radius:10px;background:#1648ed;color:#fff;font-size:24px}
.help-credit{font-size:10px;line-height:1.5;color:#58657b;padding:0 12px 12px}
.help-launcher:focus-visible,.help-panel button:focus-visible{outline:2px solid #1648ed;outline-offset:3px}
@media(hover:hover) and (pointer:fine){.address-option:hover{background:#edf2ff}.help-launcher:hover{background:#123cc8}}
@media(max-width:700px){
 .agenda-event-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;width:100%;padding:0 0 8px;min-width:0;scrollbar-width:thin;scrollbar-color:#bdcdfb transparent}
 .agenda-event-track>.evc{flex:0 0 calc(100% - 18px);scroll-snap-align:start;scroll-snap-stop:always;min-width:0;aspect-ratio:3/2}
 .agenda-event-track>.evc .evt{box-sizing:border-box;height:100%;min-height:0}
 .agenda-event-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-6px}
 .agenda-event-controls button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;border:1px solid #dce4f2;border-radius:12px;background:#fff;color:#29468c}
 .agenda-event-controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .agenda-event-position{font-size:12px;line-height:1.5;color:#58657b;font-variant-numeric:tabular-nums}
 .public-language>.btn[data-v="cart"],.public-languages>summary{padding:10px;font-size:12px;gap:5px}
 #kosh-help{inset-inline-end:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:360px){header.top .lgi{max-width:94px;width:94px;height:auto}.public-language{gap:5px}.public-language>.btn[data-v="cart"],.public-languages>summary{padding:9px 8px}.public-language>.btn[data-v="cart"] .icon,.public-languages>summary .icon{width:18px;height:18px}}
