/* 献立LP（/kondate/）専用スタイル。ブランドトークンは styles.css の :root を流用 */
.kondate-hero { text-align:center; padding:40px 0 8px; }
.kondate-hero__eyebrow { font-family:"Yusei Magic",system-ui,sans-serif; color:var(--gold,#e09a32); letter-spacing:.08em; }
.kondate-hero__title { font-family:"Yusei Magic",system-ui,sans-serif; color:var(--brown,#573636); font-size:2rem; margin:6px 0; }
.kondate-hero__week { color:#7a6657; font-weight:700; }
.weeknav { display:flex; gap:10px; align-items:center; justify-content:center; flex-wrap:wrap; margin-top:14px; }
.weeknav a { text-decoration:none; color:var(--brown,#573636); background:#fff; border:1px solid #ecdfc8; border-radius:999px; padding:7px 16px; font-size:.9rem; }
.weeknav a:hover { background:#fbf4e8; }
.weeknav .weeknav__now { background:#f1e7d4; font-weight:700; }
.weeknav .weeknav__off { color:#c3b29c; border:1px solid #efe6d6; border-radius:999px; padding:7px 16px; font-size:.9rem; }

.menu-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin:28px 0 8px; }
@media (max-width:900px){ .menu-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .menu-grid { grid-template-columns:1fr; } }
.menu-item { background:#fff; border:1px solid #ecdfc8; border-radius:16px; overflow:hidden; box-shadow:0 8px 20px rgba(120,86,52,.06); display:flex; flex-direction:column; }
.menu-item__day { background:var(--brown,#573636); color:#fff7e9; font-family:"Yusei Magic",sans-serif; padding:8px 14px; display:flex; justify-content:space-between; align-items:center; }
.menu-item__day .d { font-size:.8rem; opacity:.85; }
.menu-item__img { aspect-ratio:4/3; background:#efe6d6 center/cover no-repeat; }
.menu-item__noimg { aspect-ratio:4/3; background:#f4ecdd; display:flex; align-items:center; justify-content:center; color:#c3b29c; font-size:.85rem; }
.menu-item__body { padding:14px 16px; flex:1; display:flex; flex-direction:column; }
.menu-item__name { font-weight:900; color:var(--brown,#573636); font-size:1.05rem; }
.menu-item__desc { color:#6c5b4f; font-size:.86rem; line-height:1.6; margin-top:6px; }
.menu-item__ai { margin:8px 0 0; font-size:.72rem; color:#9a6a4a; background:#fbf1e8; border:1px solid #ecd6c4; border-radius:6px; padding:5px 8px; line-height:1.5; }
/* PC（複数カラム表示時）はAI生成の注記をカード最下部に固定して高さを揃える */
@media (min-width:521px){ .menu-item__ai { margin-top:auto; } }
.menu-empty { text-align:center; color:#8a766a; padding:48px 0; }

.subscribe { background:#fbf4e8; border:1px solid #ecdfc8; border-radius:20px; padding:28px 24px; margin:36px 0; }
.subscribe__title { font-family:"Yusei Magic",sans-serif; color:var(--brown,#573636); font-size:1.4rem; text-align:center; margin:0 0 6px; }
.subscribe__lead { text-align:center; color:#6c5b4f; margin:0 0 20px; }
.subscribe__cols { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media (max-width:720px){ .subscribe__cols { grid-template-columns:1fr; } }
.subscribe__box { background:#fff; border:1px solid #ecdfc8; border-radius:14px; padding:20px; }
.subscribe__box h3 { margin:0 0 12px; color:var(--brown,#573636); }
.subscribe__box input[type=email] { width:100%; padding:12px 14px; border:1px solid #d9ccb4; border-radius:10px; font:inherit; }
.subscribe__note { font-size:.78rem; color:#8a766a; margin-top:10px; }
.line-btn { display:inline-flex; align-items:center; gap:8px; background:#06c755; color:#fff; font-weight:700; text-decoration:none; padding:12px 20px; border-radius:10px; }
.kondate-msg { max-width:560px; margin:16px auto; padding:14px 18px; border-radius:12px; text-align:center; }
.kondate-msg--ok { background:#e6f4e6; border:1px solid #b6dcb6; color:#2f6b2f; }
.kondate-msg--err { background:#fdecec; border:1px solid #f0bcbc; color:#a23b3b; }

.menu-item--closed { opacity:.72; }
.menu-item--closed .menu-item__noimg { background:#efe6d6; color:#a8967f; font-weight:700; }

.backnum { margin:40px 0 12px; }
.backnum__title { font-family:"Yusei Magic",sans-serif; color:var(--brown,#573636); font-size:1.2rem; text-align:center; margin:0 0 14px; }
.backnum__list { list-style:none; padding:0; margin:0 auto; max-width:560px; display:flex; flex-direction:column; gap:8px; }
.backnum__list li a { display:block; background:#fff; border:1px solid #ecdfc8; border-radius:10px; padding:12px 16px; text-decoration:none; color:var(--brown,#573636); }
.backnum__list li a:hover { background:#fbf4e8; }
