/* MNL Booking ウィジェット（テーマのB改トーンに合わせたダーク配色） */
.mnl-bk{border:1px solid #31343C;padding:38px 36px;margin-top:30px}
.mnl-bk-head{font-family:'Zen Old Mincho',serif;font-size:16px;font-weight:600;letter-spacing:.18em;color:#B08D57;border-bottom:1px solid #31343C;padding-bottom:12px;margin:0 0 20px}
.mnl-bk-step{margin-bottom:38px}
.mnl-bk-step[hidden]{display:none}
/* メニュー選択 */
.mnl-bk-menus{display:flex;flex-direction:column;gap:12px}
.mnl-bk-menu{display:flex;gap:14px;align-items:flex-start;border:1px solid #31343C;padding:16px 18px;cursor:pointer;transition:.25s}
.mnl-bk-menu:hover{border-color:#B08D57}
.mnl-bk-menu:has(input:checked){border-color:#B08D57;background:#1E2026}
.mnl-bk-menu input{margin-top:7px;accent-color:#B08D57}
.mnl-bk-menu .name{display:block;font-size:13.5px;font-weight:500}
.mnl-bk-menu .meta{display:block;font-size:12px;color:#8E8F96;font-family:'Oswald','Zen Kaku Gothic New',sans-serif;letter-spacing:.06em;margin-top:2px}
/* カレンダー */
.mnl-bk-cal-nav{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.mnl-bk-cal-nav button{background:none;border:1px solid #31343C;color:#EDEAE4;padding:6px 16px;min-width:48px;min-height:44px;cursor:pointer;transition:.25s}
.mnl-bk-cal-nav button:hover:not(:disabled){border-color:#B08D57;color:#B08D57}
.mnl-bk-cal-nav button:disabled{color:#8E8F96;border-color:#2A2C33;cursor:default}
.mnl-bk-cal-nav .label{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:.14em;color:#8E8F96}
.mnl-bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:16px}
.mnl-bk-day{background:none;border:1px solid #31343C;color:#EDEAE4;padding:10px 4px;min-height:64px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:.25s}
.mnl-bk-day .d{font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:.06em}
.mnl-bk-day .w{font-size:12px;color:#8E8F96}
.mnl-bk-day .m{font-size:12px;color:#B08D57}
.mnl-bk-day:hover:not(:disabled){border-color:#B08D57}
.mnl-bk-day.is-active{border-color:#B08D57;background:#1E2026}
/* 無効日: opacity で薄めず、背景 #16171B に対しコントラスト比 4.5:1 以上（#8E8F96 で約 5.6:1）の文字色で判読できるようにする */
.mnl-bk-day:disabled{cursor:default;color:#8E8F96;border-color:#2A2C33}
.mnl-bk-day:disabled .d,.mnl-bk-day:disabled .m{color:#8E8F96}
.mnl-bk-day.is-full .m{color:#8E8F96}
.mnl-bk-day.is-out .m{color:#8E8F96}
/* 当日など電話のみの日 */
.mnl-bk-day.is-phone{background:#1E2026}
.mnl-bk-day.is-phone .m{color:#B08D57;font-size:11px;letter-spacing:.02em}
.mnl-bk-slots{display:flex;flex-wrap:wrap;gap:8px}
.mnl-bk-slot{background:none;border:1px solid #31343C;color:#EDEAE4;padding:9px 18px;min-height:44px;min-width:76px;cursor:pointer;font-family:'Oswald',sans-serif;font-size:13px;letter-spacing:.08em;transition:.25s}
.mnl-bk-slot:hover{border-color:#B08D57}
.mnl-bk-slot.is-active{border-color:#B08D57;background:#B08D57;color:#16171B}
.mnl-bk-loading{font-size:12.5px;color:#8E8F96}
.mnl-bk-fetcherr{color:#D98E85}
.mnl-bk-lead-note{font-size:12.5px;color:#8E8F96;line-height:1.8;margin:-8px 0 16px}
.mnl-bk-lead-note a,.mnl-bk-phone a,.mnl-bk-done-cancel a{color:#B08D57;text-decoration:underline}
.mnl-bk-notice{color:#D98E85;font-size:13px;margin:0 0 14px}
/* フォーム */
.mnl-bk-selected{font-family:'Zen Old Mincho',serif;font-size:14px;letter-spacing:.1em;color:#B08D57;margin-bottom:18px;line-height:1.9}
.mnl-bk-selected .line{display:block}
.mnl-bk-fields{display:flex;flex-direction:column;gap:14px;max-width:480px;margin-bottom:22px}
.mnl-bk-fields label{font-size:12.5px;color:#8E8F96;display:flex;flex-direction:column;gap:6px}
.mnl-bk-fields input,.mnl-bk-fields textarea{background:#1E2026;border:1px solid #31343C;color:#EDEAE4;padding:12px 14px;font-size:16px;font-family:inherit;outline:none}  /* 16px: iOS のフォーカス時ズーム防止 */
.mnl-bk-fields input:focus,.mnl-bk-fields textarea:focus{border-color:#B08D57}
.mnl-bk-fields input[aria-invalid="true"]{border-color:#D98E85}
.mnl-bk-fielderr{color:#D98E85;font-size:12.5px;line-height:1.6}
.mnl-bk-fielderr[hidden]{display:none}
.mnl-bk-hp{position:absolute !important;left:-9999px !important;height:1px;overflow:hidden}
.mnl-bk-submit{background:#B08D57;color:#16171B;border:none;font-weight:700;padding:16px 48px;font-size:13.5px;letter-spacing:.2em;cursor:pointer;transition:.3s;font-family:inherit}
.mnl-bk-submit:hover{opacity:.85}
.mnl-bk-submit:disabled{opacity:.5;cursor:default}
.mnl-bk-error{color:#D98E85;font-size:13px;margin-top:14px}
.mnl-bk-done-summary{margin-bottom:18px}
.mnl-bk-done-summary .line{margin:0;font-family:'Zen Old Mincho',serif;font-size:15px;letter-spacing:.08em;color:#B08D57;line-height:1.9}
.mnl-bk-done-text,.mnl-bk-done-cancel{color:#8E8F96;font-size:13.5px}
/* キャンセル画面 */
.mnl-bk-cancel{border:1px solid #31343C;padding:38px 36px;margin-top:30px}
.mnl-bk-cancel .body{font-size:14px;line-height:2.1}
.mnl-bk-cancel .body p{margin:0 0 14px}
.mnl-bk-cancel{scroll-margin-top:96px;outline:none}
/* .mnl-bk の内側（先頭）に出すときは二重枠にしない */
.mnl-bk .mnl-bk-cancel{border:0;padding:0;margin:0 0 38px}
.mnl-bk-rebook{margin-top:6px}
@media(max-width:700px){
	.mnl-bk,.mnl-bk-cancel{padding:24px 18px}
	.mnl-bk-days{grid-template-columns:repeat(7,1fr);gap:3px}
	.mnl-bk-day{padding:8px 2px}
}
