/* 豊川稲荷公式アプリ（2026-10-24 デザインを刷新・第2版）
 * 参考：エポスアプリ（UI Pocket 2026-09、210 画面）。画面の組み立て・寸法・文字の大きさと太さを参考画面から実測して合わせた。
 *   文字：一覧の項目 16px・細め／カードの見出し 15px・太字／補足 12px／タブ 10.5px
 *   地色：ホームは淡い色、メニュー・設定の画面はブランド色を薄めた濃いめの色（参考の #ECF3F5 と #A9D3D6 にあたる）
 *   アイコン：2〜3色で塗った絵柄。タブは塗りのアイコン
 * 色は参考アプリの青緑の役目をロゴの朱（#C03200）が担う。エポスの名称・キャラクター・図柄は使わない。 */
:root{
  --shu:#C03200;          /* ロゴの朱 */
  --shu-deep:#9A2800;
  --shu-tint:#F9ECE7;
  --gold:#E9A23B;         /* 絵柄の差し色 */
  --ink:#333333;          /* 本文（参考アプリと同じく真っ黒にしない） */
  --ink-60:#6B6B6B;
  --ink-38:#A3A3A3;
  --ground:#F6F7F8;       /* ホームの地色（2026-10-26 寺務所のご指摘で暖色をやめ、寒色寄りの淡いグレーに。予約画面と同じ値） */
  --menu:#EEF0F3;         /* メニュー・設定の画面の地色（2026-10-26 朱を薄めた #E8CFC3 から中立のグレーに） */
  --box:#F1F2F4;          /* カードの中の小さな枠 */
  --card:#FFFFFF;
  --rule:#E7E9EC;
  --shadow:0 1px 4px rgba(20,30,40,.07);
  --r:14px;
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-t:env(safe-area-inset-top,0px);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
[hidden],.hidden{display:none!important;}
html,body{height:100%;overscroll-behavior-y:none;}
body{font-family:"Noto Sans JP","Hiragino Sans",system-ui,sans-serif;background:var(--ground);color:var(--ink);
  -webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6;font-weight:400;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:left;}
a{color:inherit;}
b,strong{font-weight:700;}
.num{font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:0;}
.nw{white-space:nowrap;display:inline-block;margin-right:.6em;}
.nw:last-child{margin-right:0;}

.app{display:flex;flex-direction:column;height:100dvh;max-width:520px;margin:0 auto;background:var(--ground);position:relative;overflow:hidden;transition:background .2s;}
.app[data-screen="mypage"],.app[data-screen="guide"]{background:var(--menu);}

/* ───────── ヘッダー ───────── */
.hd{flex:none;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;min-height:56px;
  padding:calc(var(--safe-t) + 4px) 8px 4px;background:var(--card);z-index:20;}
.app[data-screen="mypage"] .hd,.app[data-screen="guide"] .hd{background:var(--menu);}
.hd .logo{justify-self:center;display:block;height:28px;width:auto;}
.hd .ttl{justify-self:center;font-size:18px;font-weight:700;letter-spacing:.04em;}
.hd .ib{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;}
.hd .ib.q span{width:24px;height:24px;border-radius:50%;background:var(--shu);color:#fff;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;}
.hd .ib.g{color:#9B9B9B;}
/* 予約画面などの埋め込み（#web）で、埋め込んだページが前の画面へ戻れるときだけ ? の位置に戻るボタンを出す（2026-10-26 B-9） */
.hd .ib.q,.hd .ib.bk{grid-column:1;grid-row:1;}
.hd .ib.bk{display:none;color:var(--ink);}
.app[data-screen="web"] .hd.can-back .ib.bk{display:flex;}
.app[data-screen="web"] .hd.can-back .ib.q{display:none;}
.offline{background:var(--ink);color:#fff;font-size:12px;font-weight:700;text-align:center;padding:7px 16px;}

main{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 0 calc(20px + var(--safe-b));}
.screen{display:none;}
.screen.on{display:block;}

/* ───────── カード ───────── */
.block{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);margin:0 16px 14px;padding:16px;}
h2{font-size:15px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:7px;line-height:1.4;}
h2 .hi{width:24px;height:24px;border-radius:50%;background:var(--shu-tint);color:var(--shu);display:inline-flex;align-items:center;justify-content:center;flex:none;}
.block .intro{font-size:13px;color:var(--ink-60);margin-bottom:10px;line-height:1.7;}
.block .intro:last-child{margin-bottom:0;}
.sec-h{font-size:14px;font-weight:700;margin:16px 16px 8px;}
.sec-h:first-child{margin-top:4px;}
.updated{font-size:11px;color:var(--ink-38);text-align:center;margin:-4px 0 12px;}

/* 一覧の行：項目名は 16px・細め（参考アプリの「メニュー・設定」） */
.row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--rule);width:100%;text-decoration:none;min-height:54px;}
.row:last-child{border-bottom:0;}
.row .bd{flex:1;min-width:0;}
.row .bd b{display:block;font-size:16px;font-weight:400;line-height:1.5;}
.row .bd > span{display:block;font-size:12px;color:var(--ink-60);margin-top:1px;line-height:1.55;}
.row .bd span b.num{display:inline;font-weight:700;color:var(--ink);font-size:inherit;}
.chev{color:var(--shu);flex:none;display:flex;}

/* ───────── ホームの主役：カード型 ───────── */
.kv{margin:0 16px 14px;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px #E1E4E8,var(--shadow);background:var(--ink);}
.kv img{display:block;width:100%;height:auto;}
.kv .when{color:#fff;padding:10px 14px 11px;font-size:13px;font-weight:700;display:flex;align-items:center;gap:9px;}
.kv .when::before{content:"";width:14px;height:2px;background:var(--gold);flex:none;}

.tcard{margin:0 16px 14px;border-radius:12px;padding:16px 18px 18px;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#D44A1B 0%,#C03200 60%,#A92C00 100%);box-shadow:0 0 0 1px rgba(0,0,0,.04),0 4px 12px rgba(192,50,0,.2);}
.tcard::after{content:"";position:absolute;right:-36px;top:-36px;width:160px;height:160px;border-radius:50%;border:22px solid rgba(255,255,255,.08);pointer-events:none;}
.tcard.callnow{background:linear-gradient(135deg,#454341 0%,#2B2B2B 100%);box-shadow:0 4px 12px rgba(0,0,0,.2);}
.tcard .top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;position:relative;}
.tcard .cap{font-size:13px;font-weight:700;line-height:1.5;}
.tcard .cap b{font-size:15px;}
.tcard .st{flex:none;font-size:11px;font-weight:700;border:1px solid rgba(255,255,255,.7);padding:2px 9px;border-radius:12px;white-space:nowrap;}
.tcard .lb{display:block;font-size:11px;font-weight:700;opacity:.85;margin-top:14px;position:relative;}
.tcard .no{display:block;font-size:44px;line-height:1.1;position:relative;}
.tcard .meta{font-size:12px;opacity:.92;margin-top:6px;position:relative;}

/* 小さな枠を2つ並べる（参考アプリの「お支払照会」） */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.pair .bx{background:var(--box);border-radius:10px;padding:10px 12px 12px;min-width:0;}
.pair .bx .k{display:block;font-size:11px;color:var(--ink-60);}
.pair .bx .v{display:block;font-size:17px;line-height:1.5;margin-top:6px;text-align:right;}
.pair .bx.now .v{color:var(--shu);}
.pair .bx .nw{margin-right:.5em;}
.pos{display:block;font-size:11px;font-weight:700;color:var(--shu-deep);margin-top:4px;}
.notice{display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding-top:12px;border-top:1px dashed #D6D9DE;font-size:13px;font-weight:700;line-height:1.65;color:var(--ink);}
.notice svg{flex:none;margin-top:2px;color:var(--shu);}
.notice.ok svg{color:#3E8A4A;}
.notice.call{color:var(--shu-deep);}

/* 丸いアイコンのメニュー（参考アプリのホーム下部） */
.icons{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 4px;padding:4px 0 2px;}
.icons > *{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;font-size:11px;font-weight:700;text-align:center;line-height:1.35;color:var(--ink);}
.icons .ci{width:56px;height:56px;border-radius:50%;background:var(--shu-tint);display:flex;align-items:center;justify-content:center;}
.icons > *:active .ci{filter:brightness(.95);}

/* 受付状況 */
.sess-h{padding:12px 0 2px;border-top:1px solid var(--rule);}
.sess-h:first-child{border-top:0;padding-top:0;}
.sess-h b{font-size:14px;font-weight:700;}
.sess-note{font-size:11px;color:var(--ink-60);line-height:1.6;margin-bottom:2px;}
.ln{display:flex;align-items:center;justify-content:space-between;padding:7px 0;}
.ln .nm b{font-size:15px;font-weight:400;}
.ln .nm span{font-size:13px;color:var(--ink-60);}
.ln .qt{text-align:right;display:flex;align-items:baseline;gap:6px;}
.ln .qt .u{font-size:11px;color:var(--ink-60);order:-1;}
.ln .qt .v{font-size:17px;color:var(--ink);font-weight:700;}
.ln .qt .v b{font-size:11px;margin-left:1px;}
.ln .qt .v.full{font-size:13px;color:var(--ink-38);}
.called{font-size:15px;font-weight:700;line-height:2;color:var(--ink-60);}
.called-none{font-size:13px;color:var(--ink-60);font-weight:400;}

/* ───────── ボタン（参考アプリと同じく丸みの強い帯） ───────── */
.cta,.btn.primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;border-radius:24px;
  background:var(--shu);color:#fff;font-size:15px;font-weight:700;text-decoration:none;margin-top:14px;}
.cta:active,.btn.primary:active{opacity:.85;}
.cta[disabled]{opacity:.5;}
.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;margin-top:10px;border-radius:23px;background:var(--card);border:1px solid #D6D9DE;font-size:14px;font-weight:700;}
.btn[disabled]{opacity:.45;}
.link{display:inline-flex;align-items:center;min-height:44px;color:var(--shu);font-weight:700;font-size:13px;text-decoration:none;}
.links{display:flex;flex-direction:column;align-items:flex-start;padding-top:2px;}

/* ───────── 受付票 ───────── */
.info .row{min-height:0;padding:11px 0;}
.info .row .bd > span:first-child{font-size:11px;margin:0 0 1px;}
.info .row .bd b{font-size:15px;}
.resv{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--rule);}
.resv:last-child{border-bottom:0;padding-bottom:0;}
.resv .no{font-size:17px;flex:none;width:68px;line-height:1.4;}
.resv .bd{flex:1;min-width:0;}
.resv .bd b{display:block;font-size:14px;font-weight:700;line-height:1.5;}
.resv .bd span{display:block;font-size:12px;color:var(--ink-60);margin-top:1px;line-height:1.6;}
.resv.past{opacity:.5;}
.badge{font-size:11px;font-weight:700;padding:2px 9px;border-radius:11px;background:var(--box);color:var(--ink-60);flex:none;margin-top:2px;white-space:nowrap;}
.badge.called{background:var(--shu);color:#fff;}
.badge.waiting{background:var(--shu-tint);color:var(--shu);}
.none{text-align:center;padding:14px 4px 2px;}
.none .ic{color:var(--ink-38);display:flex;justify-content:center;margin-bottom:8px;}
.none b{display:block;font-size:16px;font-weight:700;margin-bottom:4px;}
.none p{font-size:13px;color:var(--ink-60);line-height:1.75;}

/* ───────── フォーム ───────── */
.form label{display:block;font-size:12px;font-weight:700;color:var(--ink-60);margin:14px 0 4px;}
.form label:first-child{margin-top:0;}
.form label .req{color:var(--shu);margin-left:4px;font-size:11px;}
.form input{width:100%;border:1px solid #D6D9DE;border-radius:8px;padding:11px 12px;font:inherit;font-size:16px;color:var(--ink);background:#fff;outline:none;}
.form input:focus{border-color:var(--shu);}
.form input::placeholder{color:#A9AEB5;}
.form .hint{font-size:11px;color:var(--ink-60);margin-top:4px;}
.form .err{color:var(--shu-deep);font-size:13px;font-weight:700;margin-top:10px;min-height:1em;}

/* ───────── マイページ（参考アプリの「アプリ設定」） ───────── */
.who{display:flex;align-items:center;gap:12px;}
.who .av{width:42px;height:42px;border-radius:50%;background:var(--shu-tint);color:var(--shu);display:flex;align-items:center;justify-content:center;flex:none;}
.who span{display:block;font-size:11px;color:var(--ink-60);}
.who b{font-size:16px;font-weight:700;}
.set{padding:0 16px;}
.set .row .ic{width:30px;height:30px;color:var(--shu);display:flex;align-items:center;justify-content:center;flex:none;}
.set .row .ic svg{width:24px;height:24px;}
.sw{width:52px;height:32px;border-radius:16px;background:#fff;border:2px solid #C9CDD3;position:relative;flex:none;transition:background .2s,border-color .2s;}
.sw::after{content:"";position:absolute;left:2px;top:2px;width:24px;height:24px;border-radius:50%;background:#C9CDD3;transition:transform .2s,background .2s;}
.sw[aria-checked="true"]{background:var(--shu);border-color:var(--shu);}
.sw[aria-checked="true"]::after{transform:translateX(20px);background:#fff;}
.sw[disabled]{opacity:.45;}
.notify .row{border-bottom:0;padding-bottom:6px;}   /* 説明文が続くため、行の下の罫線は出さない（線が説明文の上を横切っていた） */
.notify .desc{font-size:12px;color:var(--ink-60);line-height:1.7;padding:0 0 14px 42px;margin:0;}
.notify ol{margin:0 0 14px 60px;font-size:12.5px;line-height:1.8;color:var(--ink-60);}
.logout{display:flex;align-items:center;justify-content:center;width:calc(100% - 32px);margin:4px 16px 18px;min-height:50px;border-radius:25px;background:var(--card);font-size:16px;font-weight:700;color:#6B6B6B;}
.ver{font-size:11px;color:var(--ink-60);text-align:center;margin:4px 0 8px;}

/* ───────── 画面上部の切り替え（参考アプリの「メニュー・設定」の上部） ───────── */
.seg{display:flex;margin:-12px 0 14px;background:inherit;border-bottom:3px solid rgba(255,255,255,.55);position:sticky;top:-12px;z-index:5;}
.app[data-screen="ask"] .seg{background:var(--card);border-bottom-color:var(--rule);}
.app[data-screen="guide"] .seg{background:var(--menu);}
.seg button{flex:1;text-align:center;font-size:13px;font-weight:700;color:#868B92;padding:12px 4px 10px;margin-bottom:-3px;border-bottom:3px solid transparent;}
.seg button.on{color:var(--ink);border-bottom-color:var(--ink);}

/* ───────── ご案内・よくあるご質問 ───────── */
.tbl{width:100%;border-collapse:collapse;font-size:13px;}
.tbl th,.tbl td{border-bottom:1px solid var(--rule);padding:9px 2px;text-align:left;vertical-align:top;line-height:1.65;}
.tbl tr:last-child th,.tbl tr:last-child td{border-bottom:0;}
.tbl th{font-weight:700;white-space:nowrap;width:30%;padding-right:10px;}
.note{font-size:11px;color:var(--ink-38);margin-top:8px;line-height:1.7;}
/* よくあるご質問は1件ずつ白いカード（参考アプリの「お知らせ」） */
.faq{background:var(--card);border-radius:10px;box-shadow:var(--shadow);margin:0 16px 8px;}
.faq summary{list-style:none;cursor:pointer;padding:15px 40px 15px 16px;font-size:14px;font-weight:400;line-height:1.55;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"";position:absolute;right:18px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid var(--shu);border-bottom:2px solid var(--shu);transform:rotate(-45deg);transition:transform .15s;}
.faq[open] summary::after{transform:rotate(45deg);}
.faq[open] summary{font-weight:700;}
.faq .a{font-size:13px;line-height:1.8;padding:0 16px 15px;color:var(--ink);}
.faq .a .src{display:block;font-size:11px;color:var(--ink-38);margin-top:6px;}
.tel{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;background:var(--card);border-radius:10px;box-shadow:var(--shadow);margin:0 16px 14px;padding:13px 16px;}
.tel .ic{width:36px;height:36px;border-radius:50%;background:var(--shu-tint);color:var(--shu);display:flex;align-items:center;justify-content:center;flex:none;}
.tel .tx{flex:1;}
.tel .tx b{display:block;font-size:15px;font-weight:700;}
.tel .tx span{display:block;font-size:12px;color:var(--ink-60);margin-top:1px;}
.block .tel{box-shadow:none;margin:6px 0 0;padding:4px 0;}

/* ───────── タブ（4つ・塗りのアイコン・10.5px） ───────── */
nav{flex:none;display:flex;background:var(--card);border-top:1px solid #E1E4E8;padding:5px 0 calc(4px + var(--safe-b));z-index:20;}
nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:#9B9B9B;font-size:10.5px;font-weight:700;min-height:48px;justify-content:center;}
nav button.on{color:var(--shu);}
nav button .ic{display:flex;}
nav button:active{opacity:.6;}

.toast{position:fixed;left:50%;transform:translateX(-50%) translateY(20px);bottom:calc(80px + var(--safe-b));background:rgba(40,40,40,.92);color:#fff;
  font-size:13px;font-weight:700;padding:12px 18px;border-radius:10px;opacity:0;pointer-events:none;transition:.28s cubic-bezier(.2,.9,.3,1);
  z-index:60;max-width:88%;text-align:center;}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0);}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}
.resv-act{padding:0 0 12px 80px;margin-top:-6px;border-bottom:1px solid var(--rule);}
.resv-act .btn{margin-top:0;min-height:40px;font-size:13px;color:var(--shu-deep);}
.resv-act .btn + .btn{margin-top:8px;}   /* 「内容を変更する」と「取り消す」が並ぶとき（R97） */
.resv:has(+ .resv-act){border-bottom:0;}
/* 御膳（お斎）の品の変更（2026-10-31） */
.meal-edit{margin-bottom:10px;padding:12px;border-radius:10px;background:var(--box);}
.meal-note{font-size:12px;line-height:1.7;color:var(--ink-60);margin:0 0 8px;}
.meal-row{display:block;margin-top:8px;font-size:12px;font-weight:700;color:var(--ink-60);}
.meal-row span{display:block;margin-bottom:4px;}
.meal-sel{width:100%;border:1px solid #D6D9DE;border-radius:8px;padding:10px 12px;font:inherit;font-size:16px;color:var(--ink);background:#fff;font-weight:400;}
.meal-edit .meal-save{margin-top:10px;min-height:40px;font-size:13px;color:var(--ink);}

/* 起動画面（会期中だけ。index.html の先頭で、会期の外なら描く前に外している） */
.splash{position:fixed;inset:0;z-index:100;background:#E9DCC2;display:flex;align-items:center;justify-content:center;transition:opacity .45s ease;}
.splash img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.splash.out{opacity:0;pointer-events:none;}

/* 単独のページ（プライバシーポリシー・利用規約・サポート・アカウント削除のご案内） */
.doc{max-width:520px;margin:0 auto;min-height:100vh;background:var(--ground);}
.doc .hd{position:sticky;top:0;}
.doc .back{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--shu);text-decoration:none;}
.doc main{padding:12px 0 32px;overflow:visible;}
.doc .block h3{font-size:14px;font-weight:700;margin:14px 0 4px;}
.doc .block h3:first-child{margin-top:0;}
.doc .block p,.doc .block li{font-size:13.5px;line-height:1.85;color:var(--ink);}
.doc .block ul,.doc .block ol{padding-left:1.3em;margin:4px 0;}
.doc .meta{font-size:11px;color:var(--ink-60);text-align:center;margin:8px 16px 0;}
.agree{display:flex!important;gap:10px;align-items:flex-start;font-size:13px!important;font-weight:400!important;color:var(--ink)!important;margin-top:18px!important;line-height:1.6;}
.agree input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--shu);}
.agree a{color:var(--shu);font-weight:700;}
.cta.danger{background:#fff;color:#B3261E;border:1.5px solid #B3261E;}
/* 文字のリンク：参考アプリのログイン画面と同じく、左寄せ・普通の太さ・15px（2026-10-24） */
.link{font-weight:400;font-size:15px;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}   /* 文章中のリンクは下線で示す（2026-10-25 花岡氏の指示） */

/* 予約画面などの埋め込み（2026-10-25 R27）。見出しとアイコンメニューの間をすべて使い、スクロールは埋め込んだページ側で行う */
.app[data-screen="web"] main{overflow:hidden;padding:0;}
.screen[data-s="web"].on{height:100%;}
#webFrame{display:block;width:100%;height:100%;border:0;background:var(--ground);}
/* 文章の途中のリンクは、文字の大きさと行の高さを本文に合わせる（ボタン用の 15px・高さ 44px が本文の中で浮いていた。2026-10-25） */
p .link,li .link,.intro .link{display:inline;min-height:0;font-size:inherit;line-height:inherit;}

/* 受付票の一覧（2026-11-01 R64）。Web のマイページと同じく、項目名と内容を1行ずつ並べる */
.resv-card{padding:14px 0;border-bottom:1px solid var(--rule);}
.resv-card:last-child{border-bottom:0;padding-bottom:0;}
.resv-card.past{opacity:.5;}
.resv-card .tk-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.resv-card .tk-hd .tk-no{font-size:22px;font-weight:800;color:var(--shu);}
.resv-card .tk-kv{display:flex;gap:12px;padding:7px 0;border-bottom:1px solid var(--rule);line-height:1.55;background:none;border-radius:0;box-shadow:none;}
.resv-card .tk-k{flex:none;width:7.5em;font-size:12px;color:var(--ink-60);padding-top:2px;}
.resv-card .tk-v{flex:1;min-width:0;font-size:14px;color:var(--ink);overflow-wrap:anywhere;}
.resv-card .tk-kv-head{margin:14px 0 2px;font-size:13px;font-weight:700;}
.resv-card + .resv-act{padding-left:0;margin-top:0;}
.resv-card:has(+ .resv-act){border-bottom:0;}
.pair.single{grid-template-columns:1fr;}   /* 自分の番号の状態だけを出す欄（2026-11-01 R69） */

/* ご予約の内容の変更（edit.js。2026-11-03） */
.edit-open{color:var(--ink);}
.ed-part{padding:4px 0 14px;border-bottom:1px solid var(--rule);margin-bottom:6px;}
.ed-part:last-child{border-bottom:0;}
.ed-part-h{margin:14px 0 2px;font-size:13px;font-weight:700;}
.form label .opt{color:var(--ink-60);margin-left:4px;font-size:11px;font-weight:400;}
.form input.err{border-color:var(--shu-deep);}
.form .ferr{color:var(--shu-deep);font-size:12px;font-weight:700;margin-top:4px;}
.form .ferr:empty{display:none;}
.form .meal-sel{margin-top:0;}
