/* 光風の淡 お客様画面。謹色 #A17E46 は線と文字だけに使い、面は白と生成りで余白を広く取る。 */
:root{--gold:#A17E46;--deep:#7E6034;--ink:#33302C;--muted:#6B655C;--paper:#FCFAF5;--cream:#F7F3EA;--line:#D8D1C4;--red:#9A5A4A;font-family:"Hiragino Sans","Yu Gothic UI","Noto Sans JP",sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.75;-webkit-text-size-adjust:100%}
*{box-sizing:border-box}body{margin:0;background:var(--paper)}h1,h2,h3,p{margin:0}
main{max-width:560px;margin:0 auto;padding:28px 16px 64px}
.serif{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;font-weight:500;letter-spacing:.1em}
header{text-align:center;padding:12px 0 24px;border-bottom:1px solid var(--line)}
header .brand{font-size:24px;color:var(--deep)}header .brand::after{content:"";display:block;width:36px;height:1px;background:var(--gold);margin:12px auto 0}
header .sub{margin-top:14px;font-size:13px;color:var(--muted);letter-spacing:.12em}
.table{display:inline-block;margin-top:10px;font-size:12px;letter-spacing:.14em;color:var(--deep);border:1px solid var(--gold);padding:3px 12px;border-radius:2px}
.notice{margin:20px 0 0;padding:14px 16px;background:var(--cream);border-left:2px solid var(--gold);font-size:14px;white-space:pre-line}
section{margin-top:36px}
.heading{font-size:19px;color:var(--deep);text-align:center}.heading+.note{text-align:center;font-size:13px;color:var(--muted);margin-top:8px;white-space:pre-line}
.dish{padding:22px 0;border-bottom:1px solid var(--line)}.dish:last-child{border-bottom:0}
.dish img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;margin-bottom:14px;background:var(--cream)}
.lbl{font-size:12px;letter-spacing:.18em;color:var(--gold)}
.nm{font-size:19px;margin-top:4px}.nm .price{font-family:inherit;font-size:14px;color:var(--muted);margin-left:8px;letter-spacing:0}
.sh{font-size:14px;color:var(--muted);margin-top:6px}
details{margin-top:10px}summary{cursor:pointer;list-style:none;font-size:13px;color:var(--deep);letter-spacing:.08em;display:inline-flex;align-items:center;gap:6px;min-height:44px}summary::-webkit-details-marker{display:none}summary::after{content:"＋";color:var(--gold)}details[open] summary::after{content:"－"}
.detail p{font-size:15px;white-space:pre-line}.detail p+p{margin-top:12px}.detail .k{font-size:12px;letter-spacing:.16em;color:var(--gold);margin-top:16px}
.allergen{margin-top:16px;padding:12px 14px;background:var(--cream);font-size:13px;color:var(--muted)}.allergen b{color:var(--ink);font-weight:600}
.avail{display:inline-block;margin-top:8px;font-size:13px;color:var(--deep)}.avail.out{color:var(--red)}
.empty{text-align:center;color:var(--muted);padding:40px 0;font-size:15px;white-space:pre-line}
footer{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);text-align:center;font-size:12px;color:var(--muted);letter-spacing:.06em;line-height:2}
.loading{text-align:center;color:var(--muted);padding:60px 0}
.err{margin-top:24px;padding:14px 16px;border:1px solid var(--line);font-size:14px;color:var(--red);text-align:center}
@media(prefers-color-scheme:dark){:root{--paper:#1D1B18;--cream:#26231F;--ink:#EDE8DF;--muted:#A79F93;--line:#3A362F;--deep:#C9A66B;--gold:#C9A66B}}
/* 注文（第2段） */
.stepper{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:12px}.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:3px;background:var(--paper)}.qty button{width:48px;height:44px;border:0;background:transparent;color:var(--deep);font-size:20px;cursor:pointer}.qty button:disabled{color:var(--line)}.qty span{min-width:36px;text-align:center;font-variant-numeric:tabular-nums;font-size:17px}
.bar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--ink);color:var(--paper);font-size:15px;z-index:5}.bar button{background:var(--gold);color:#fff;border:0;border-radius:3px;padding:12px 20px;font-size:15px;letter-spacing:.08em;min-height:44px;cursor:pointer}
main:has(.bar){padding-bottom:110px}
.confirm{margin-top:28px}.lines{list-style:none;padding:0;margin:16px 0}.lines li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:16px}.total{text-align:right;font-size:14px;color:var(--muted);margin-top:8px}
.choice{margin-top:20px;display:grid;gap:8px}.choice label{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:3px;font-size:15px;min-height:48px}.choice input{width:20px;height:20px;accent-color:var(--gold)}
.notefield{display:block;margin-top:16px;font-size:13px;color:var(--muted)}.notefield input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:3px;font:inherit;font-size:16px;background:var(--paper);color:var(--ink);min-height:44px}
.actions{display:flex;gap:10px;margin-top:22px}.actions button{flex:1;min-height:48px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);font:inherit;font-size:15px;cursor:pointer}.actions button.primary{background:var(--deep);border-color:var(--deep);color:#fff;letter-spacing:.06em}.actions button:disabled{opacity:.5}
.ticket-big{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:32px;text-align:center;color:var(--deep);margin:18px 0;letter-spacing:.1em}
.orders{margin-top:24px}.order{border:1px solid var(--line);border-left:3px solid var(--gold);padding:12px 14px;margin-top:10px;background:var(--cream)}.order.ready{border-left-color:#5F7F7A}.order.handed,.order.settled{opacity:.7;border-left-color:var(--line)}.order.cancelled{opacity:.6;border-left-color:var(--red)}.ot{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.ticket{font-weight:600;color:var(--deep)}.oi{margin-top:6px;font-size:15px}.om{font-size:13px;color:var(--muted);margin-top:4px}
