.daily-specials{position:relative;overflow:hidden;padding:clamp(52px,6vw,94px) var(--restaurant-site-gutter,clamp(22px,5vw,84px));background:linear-gradient(145deg,color-mix(in srgb,var(--schedule-bg,#0b2237) 90%,#000),var(--schedule-bg,#0b2237) 58%,color-mix(in srgb,var(--schedule-bg,#0b2237) 80%,#1d6f91));border-block:1px solid #ffffff1c;color:#f8fbff}
.daily-specials:before,.daily-specials:after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px)}.daily-specials:before{width:520px;height:520px;right:-210px;top:-300px;background:radial-gradient(circle,#72ddff2e,transparent 68%)}.daily-specials:after{width:430px;height:430px;left:-240px;bottom:-310px;background:radial-gradient(circle,#ffffff18,transparent 70%)}
.daily-specials-inner{position:relative;width:100%;z-index:1}.daily-specials-head{display:grid;justify-items:center;gap:8px;margin:0 auto 28px;text-align:center}.daily-specials-head small{display:block;color:#8de7ff;font-size:12px;font-weight:950;letter-spacing:.2em}.daily-specials-head h2{margin:0;color:#fff;font:800 clamp(38px,5vw,68px)/.98 Georgia,serif;letter-spacing:-.035em}.daily-specials-head p{max-width:720px;margin:5px auto 0;color:#d2e2ec;line-height:1.6}
.restaurant-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin:0 auto 20px;max-width:1200px}.restaurant-weekdays button{display:grid;gap:4px;min-width:0;padding:14px 7px;border:1px solid #ffffff36;border-radius:16px;background:#ffffff0d;color:#f8fbff;box-shadow:0 8px 22px #0002;cursor:pointer;font:inherit;backdrop-filter:blur(8px)}.restaurant-weekdays button b{overflow:hidden;text-overflow:ellipsis;font-size:14px}.restaurant-weekdays button span{color:#bed2df;font-size:11px;font-weight:800}.restaurant-weekdays button:hover,.restaurant-weekdays button:focus-visible{border-color:#9be9ff;background:#ffffff17;transform:translateY(-1px)}.restaurant-weekdays button.active{border-color:var(--button-bg,#1976c9);background:var(--button-bg,#1976c9);color:var(--button-fg,#fff);box-shadow:0 12px 30px color-mix(in srgb,var(--button-bg,#1976c9) 32%,transparent)}.restaurant-weekdays button.active span{color:inherit;opacity:.9}
.daily-specials-date{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 23px;color:#bed2df;text-align:center}.daily-specials-date em{padding:6px 9px;border-radius:999px;background:#fff;color:#0b2941;font-size:10px;font-style:normal;font-weight:950;letter-spacing:.12em}.daily-specials-date b{color:#fff;font-size:19px}.daily-specials-date span{font-size:12px;font-weight:800}.schedule-lane{display:grid;gap:14px;margin-top:30px}.schedule-lane>header{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:0 4px;border-bottom:1px solid #ffffff2e}.schedule-lane>header small{color:#8de7ff;font-weight:950;letter-spacing:.16em}.schedule-lane>header h3{margin:0 0 12px;color:#fff;font:800 clamp(22px,2vw,31px)/1.05 Georgia,serif}.daily-specials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.daily-special-card{position:relative;display:grid;grid-template-rows:auto 1fr;min-height:330px;overflow:hidden;border:1px solid #ffffff42;border-radius:26px;background:#fff;color:#0b2941;box-shadow:0 24px 60px #0005;transition:transform .2s ease,box-shadow .2s ease}.daily-special-card:hover{transform:translateY(-3px);box-shadow:0 30px 70px #0006}.daily-special-card>img{display:block;width:100%;height:clamp(210px,18vw,280px);padding:10px;object-fit:contain;background:linear-gradient(145deg,#edf3f6,#dfe9ef)}.daily-special-card>div{position:relative;padding:23px 23px 14px}.daily-special-card-icon{display:inline-grid;place-items:center;width:46px;height:46px;margin-bottom:12px;border-radius:15px;background:#f1f8fa;font-size:25px}.daily-special-card h3{margin:0 0 8px;font-size:23px;line-height:1.1}.daily-special-card p{margin:0;color:#526b7d;line-height:1.55;white-space:pre-line}.daily-special-card footer{display:grid;gap:15px;padding:10px 23px 23px}.daily-special-card footer>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:12px}.daily-special-card footer b{font-size:13px}.daily-special-card footer span{color:#087a72;font-size:10px;font-weight:950;letter-spacing:.08em;text-align:right}.schedule-kind{position:absolute;right:18px;top:18px;padding:6px 9px;border-radius:999px;background:#e4f7f3;color:#087a72;font-size:10px;font-weight:950;letter-spacing:.1em}.schedule-card.event .schedule-kind{background:#e9f1ff;color:#175da6}.schedule-sample-badge{position:absolute;z-index:2;top:16px;left:16px;padding:7px 10px;border:1px solid #fff9;border-radius:999px;background:#071d31dc;color:#bcefff;font-size:10px;font-weight:950;letter-spacing:.13em;box-shadow:0 6px 18px #0005}.schedule-card.sample{border-color:#8de7ff99}
.schedule-card-actions{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;flex-wrap:wrap}.schedule-card-actions button{border:1px solid #c9d8e2;border-radius:999px;padding:9px 13px;background:#fff;color:#0b2941;font-size:12px;font-weight:900;cursor:pointer}.schedule-card-actions button.primary{border-color:var(--button-bg,#1976c9);background:var(--button-bg,#1976c9);color:var(--button-fg,#fff)}.schedule-card-actions button:disabled{opacity:.75;cursor:default}
.daily-specials-more{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}.daily-specials-more button{min-width:210px;border:1px solid #ffffff8c;border-radius:999px;padding:14px 24px;background:#fff;color:#0b2941;font-weight:950;box-shadow:0 12px 30px #0003;cursor:pointer}.daily-specials-more button+button{background:#dff8ff;color:#092c43}.daily-specials-more button:hover{transform:translateY(-1px);box-shadow:0 16px 34px #0004}
.daily-specials-empty{display:grid;justify-items:center;gap:8px;padding:38px 22px;border:1px dashed #ffffff60;border-radius:22px;background:#ffffff0d;text-align:center;backdrop-filter:blur(8px)}.daily-specials-empty span{font-size:31px;color:#8de7ff}.daily-specials-empty h3,.daily-specials-empty p{margin:0}.daily-specials-empty p{color:#c7d9e4}
@media(max-width:980px){.restaurant-weekdays{grid-template-columns:repeat(4,minmax(0,1fr))}.daily-specials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.daily-specials{padding-inline:18px}.restaurant-weekdays{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px}.restaurant-weekdays button{flex:0 0 118px;scroll-snap-align:start}.schedule-lane>header{display:block}.schedule-lane>header h3{margin-top:5px}.daily-specials-grid{grid-template-columns:1fr}.daily-special-card{min-height:0}.daily-special-card>img{height:240px}.daily-specials-more{display:grid}.daily-specials-more button{width:100%}}

/* Unified daily schedule: compact fixed columns, with a centered normal card when a day has one item. */
.daily-specials-grid{grid-template-columns:repeat(4,minmax(0,1fr));justify-content:center;align-items:stretch}
.daily-specials-grid:has(>article:only-child){grid-template-columns:minmax(0,380px)}
.daily-special-card>img{height:auto;aspect-ratio:4/3;object-fit:contain}
@media(max-width:1180px){.daily-specials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-specials-grid:has(>article:only-child){grid-template-columns:minmax(0,380px)}}
@media(max-width:760px){.daily-specials-grid,.daily-specials-grid:has(>article:only-child){display:flex;justify-content:flex-start;gap:14px;overflow-x:auto;margin-inline:-18px;padding:2px 24px 16px;scroll-padding-inline:24px;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.daily-specials-grid::-webkit-scrollbar{display:none}.daily-special-card{flex:0 0 min(84vw,360px);scroll-snap-align:start;scroll-snap-stop:always}.daily-special-card>img{height:auto}}
@media(max-width:620px){.daily-specials-date{display:grid;grid-template-columns:auto auto;gap:6px 8px}.daily-specials-date em{justify-self:end}.daily-specials-date b{justify-self:start}.daily-specials-date span{grid-column:1/-1;font-size:13px;color:#fff}}

/* Calendar categories stay visually distinct on desktop and mobile. */
.schedule-color-key{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:10px}.schedule-color-key span{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #ffffff3d;border-radius:999px;background:#071d31a8;color:#fff;font-size:11px;font-weight:900;letter-spacing:.04em}.schedule-color-key span:before{content:"";width:10px;height:10px;border-radius:50%;background:#2f78bd;box-shadow:0 0 0 3px #dbeeff}.schedule-color-key [data-calendar-kind=special]:before{background:#c47708;box-shadow:0 0 0 3px #fff0c7}.schedule-color-key [data-calendar-kind=fundraiser]:before{background:#aa3857;box-shadow:0 0 0 3px #fde4eb}
.daily-special-card.calendar-kind-event{border-top:6px solid #2f78bd}.daily-special-card.calendar-kind-special{border-top:6px solid #c47708}.daily-special-card.calendar-kind-fundraiser{border-top:6px solid #aa3857}.calendar-kind-event .schedule-kind{background:#e9f3ff;color:#175da6}.calendar-kind-special .schedule-kind{background:#fff1d2;color:#84510a}.calendar-kind-fundraiser .schedule-kind{background:#fde8ee;color:#8c2945}.calendar-kind-event .daily-special-card-icon{background:#e9f3ff;color:#174f7d}.calendar-kind-special .daily-special-card-icon{background:#fff1d2;color:#84510a}.calendar-kind-fundraiser .daily-special-card-icon{background:#fde8ee;color:#8c2945}

/* A single swipeable row at every screen size; never wrap a day's cards. */
#daily-specials .daily-specials-grid,#daily-specials .daily-specials-grid:has(>article:only-child){display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:stretch;gap:18px;overflow-x:auto;overflow-y:hidden;width:100%;max-width:1440px;margin-inline:auto;padding:4px 4px 20px;scroll-snap-type:x mandatory;scroll-padding-inline:4px;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#8de7ff80 transparent}
#daily-specials .daily-special-card{flex:0 0 clamp(280px,calc((100% - 36px)/3),480px);min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
#daily-specials .daily-specials-grid:focus-visible{outline:2px solid #8de7ff;outline-offset:4px}
.schedule-carousel-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1440px;margin:0 auto 12px}.schedule-carousel-tools span{color:#d2e2ec;font-size:12px}.schedule-carousel-tools button{min-width:72px;min-height:44px;padding:10px 16px;border:1px solid #ffffff7a;border-radius:999px;background:#fff;color:#0b2941;font:inherit;font-size:12px;font-weight:900}.schedule-carousel-tools button:focus-visible{outline:3px solid #8de7ff;outline-offset:3px}
@media(max-width:760px){#daily-specials .daily-specials-grid{margin-inline:0}#daily-specials .daily-special-card{flex-basis:min(84vw,360px)}.schedule-carousel-tools span{font-size:11px;text-align:center}}
