.daily-menu { padding: 88px 0; background: linear-gradient(180deg,#e8e4d8,#f0eadf); scroll-margin-top: 100px; }
.daily-layout { display:grid; grid-template-columns: .85fr 2fr; box-shadow: 0 24px 70px #17231e0b; }
.lunch-intro { position:relative; overflow:hidden; padding:42px 34px; background:var(--green-deep); color:var(--cream-light); display:flex; flex-direction:column; align-items:flex-start; }
.lunch-intro::after { content:''; position:absolute; width:300px; height:300px; border:1px solid #efc76b22; border-radius:50%; right:-170px; bottom:-130px; box-shadow:0 0 0 40px #efc76b08,0 0 0 80px #efc76b05; pointer-events:none; }
.daily-kicker { margin:0 0 26px; font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.lunch-intro h2 { font:500 clamp(40px,4.3vw,62px)/1.02 var(--serif); letter-spacing:-.045em; margin:0 0 24px; }
.daily-week { font-size:14px; color:#e7dec9; line-height:1.7; margin:0; }
.daily-price { margin:38px 0 26px; display:flex; flex-direction:column; }
.daily-price small { font-size:11px; color:#e7dec9; }
.daily-price strong { font:500 72px/1.2 var(--serif); letter-spacing:-.055em; color:#efc76b; }
.daily-price strong span { font:500 24px var(--serif); letter-spacing:0; }
.lunch-intro > a { margin-top:auto; font-size:12px; padding-bottom:6px; border-bottom:1px solid #f4efe555; }
.daily-content { min-width:0; padding:32px 36px; background:var(--cream-light); }
.daily-controls { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:20px; }
.daily-status { margin:0; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--green); font-weight:700; }
.daily-week-toggle { background:none; border:0; border-bottom:1px solid var(--line); padding:5px 0; font-size:11px; cursor:pointer; }
.daily-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin-bottom:28px; }
.daily-tabs[hidden],.daily-controls[hidden],.daily-panel[hidden] { display:none; }
.daily-tabs button { position:relative; display:flex; flex-direction:column; align-items:center; gap:7px; padding:15px 3px; border:1px solid var(--line); background:transparent; border-radius:4px; cursor:pointer; transition:background .2s,color .2s; font-size:11px; }
.daily-tabs button span { font:500 22px var(--serif); }
.daily-tabs button[aria-pressed="true"] { color:var(--cream-light); background:var(--green); border-color:var(--green); }
.daily-tabs button[data-today]::after { content:''; position:absolute; bottom:5px; width:3px; height:3px; background:#d96b3d; border-radius:50%; }
.daily-menu button:focus-visible,.daily-menu a:focus-visible { outline:3px solid #d96b3d; outline-offset:3px; }
.daily-panel { animation:daily-in .25s ease-out; }
.daily-panels.is-week .daily-panel + .daily-panel { border-top:1px solid var(--line); padding-top:24px; margin-top:28px; }
.daily-panel h3 { margin:0 0 18px; font:500 28px var(--serif); letter-spacing:-.025em; }
.daily-soup { margin:0 0 8px; padding:17px 20px; background:#e7ece3; border-left:3px solid var(--green); }
.daily-soup span { display:block; color:var(--green); font-size:9px; font-weight:700; letter-spacing:.15em; margin-bottom:7px; text-transform:uppercase; }
.daily-soup strong { font-size:15px; font-weight:500; line-height:1.5; }
.daily-meals { list-style:none; padding:0; margin:0; }
.daily-meals li { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:12px; padding:23px 0; border-bottom:1px solid var(--line); align-items:start; }
.daily-letter { padding-top:2px; color:var(--green); font:500 21px var(--serif); }
.lunch-dish strong { display:block; font:500 20px/1.3 var(--serif); }
.lunch-dish small { display:block; font-size:12px; line-height:1.7; color:var(--muted); margin-top:5px; }
.daily-meals b { white-space:nowrap; color:var(--green); font-size:14px; padding-top:5px; }
@keyframes daily-in { from { opacity:.4; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:900px) { .daily-layout { grid-template-columns:1fr; } .lunch-intro { padding:28px; display:grid; grid-template-columns:1fr auto; gap:8px 20px; } .daily-kicker { grid-column:1/-1; margin-bottom:8px; } .lunch-intro h2 { margin:0; } .daily-week { grid-column:1; } .daily-price { grid-column:2; grid-row:2/4; margin:0; align-self:center; } .daily-price strong { font-size:56px; } .lunch-intro > a { grid-column:1/-1; justify-self:start; margin-top:14px; } }
@media(max-width:540px) { .daily-menu { padding:40px 0; } .daily-content { padding:22px 18px; } .lunch-intro { padding:26px 22px; gap:12px; } .lunch-intro h2 { font-size:40px; } .daily-price strong { font-size:48px; } .daily-price small { max-width:90px; line-height:1.5; } .daily-week { font-size:12px; } .daily-tabs { gap:4px; } .daily-tabs button { font-size:10px; padding:12px 0; } .daily-tabs button span { font-size:18px; } .daily-meals li { grid-template-columns:20px minmax(0,1fr); gap:8px; padding:18px 0; } .daily-meals b { grid-column:2; padding:0; } .lunch-dish strong { font-size:19px; } .daily-controls { align-items:flex-start; } }
@media(prefers-reduced-motion:reduce) { .daily-panel { animation:none; } .daily-tabs button { transition:none; } }
