/* 店舗ページのカレンダー（2026-10-07）。js/store-calendar.js が #store-calendar-grid に月の表を描く */
.store-calendar{margin-top:14px;padding-top:12px;border-top:1px solid #dfebf3}
.store-calendar-title{margin:0 0 8px;font-size:15px;color:#183d5c}
.scal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.scal-month{font-weight:700;font-size:15px}
.scal-nav{border:1px solid #c9d9e6;background:#fff;color:#1474bb;border-radius:4px;padding:2px 10px;cursor:pointer;font-size:12px}
.scal-nav:disabled{opacity:.35;cursor:default}
.scal-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}
.scal-table th{padding:3px 0;background:#f2f7fb;border:1px solid #dfebf3;font-weight:600;font-size:12px}
.scal-table td{height:44px;padding:2px 1px;border:1px solid #dfebf3;text-align:center;vertical-align:top;line-height:1.2;background:#fff}
.scal-table td.blank{background:#fafcfd}
.scal-table td b{display:block;font-weight:600;font-size:13px}
.scal-table td i{display:block;font-style:normal;font-size:10px;line-height:1.1;margin-top:1px}
.scal-table .sun,.scal-table td.hol b{color:#d33}
.scal-table .sat{color:#1474bb}
.scal-table td.off{background:#ffe3e3}
.scal-table td.off i{color:#c62828;font-weight:700}
.scal-table td.am{background:linear-gradient(to bottom,#ffe3e3 0,#ffe3e3 50%,#fff 50%)}
.scal-table td.pm{background:linear-gradient(to bottom,#fff 0,#fff 50%,#ffe3e3 50%)}
.scal-table td.am i,.scal-table td.pm i{color:#c62828;font-weight:700}
.scal-table td.sp b:after{content:"";display:inline-block;width:5px;height:5px;margin-left:2px;border-radius:50%;background:#f39c12;vertical-align:middle}
.scal-table td.today{outline:2px solid #1474bb;outline-offset:-2px}
.scal-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin:6px 0 0;padding:0;list-style:none;font-size:11px;color:#4a6a85}
.scal-legend .k{display:inline-block;width:11px;height:11px;margin-right:3px;border:1px solid #dfebf3;vertical-align:-1px}
.scal-legend .k.off{background:#ffe3e3}
.scal-legend .k.half{background:linear-gradient(to bottom,#ffe3e3 50%,#fff 50%)}
.scal-legend .k.hol{background:#fff;border-color:#d33}
.scal-legend .k.today{background:#fff;border:2px solid #1474bb}
.store-calendar-summary{margin:8px 0 0;font-size:12px;color:#183d5c;line-height:1.6}
.store-calendar-notices{margin:6px 0 0;padding:6px 8px;list-style:none;background:#fff8e6;border:1px solid #f3dca4;border-radius:4px;font-size:12px;line-height:1.7}
/* カレンダー：2か月表示・管理画面でのクリック設定（2026-10-07） */
.scal-range{font-weight:700;font-size:14px}
.scal-months{display:flex;flex-direction:column;gap:10px}
.scal-month-box{min-width:0}
.scal-month{margin:0 0 3px;font-weight:700;font-size:13px;color:#183d5c}
.store-calendar .scal-table td{height:38px}
.scal-table td i.op{color:#2e7d32;font-weight:700}
.scal-table td.pick{cursor:pointer}
.scal-table td.pick:hover{background-color:#eef6ff}
.scal-table td.sel{background:#fff3c4 !important;outline:2px solid #f39c12;outline-offset:-2px}
.scal-legend .k.sel{background:#fff3c4;border:2px solid #f39c12}
.scal-admin .scal-months{flex-direction:row;flex-wrap:wrap;gap:16px}
.scal-admin .scal-month-box{flex:1 1 300px;max-width:440px}
.scal-admin .scal-table td{height:50px;font-size:14px}
.scal-admin .scal-head{max-width:440px}
.cal-steps{margin:0 0 10px;padding-left:20px}
.cal-type-choices label{display:inline-block;margin:0 14px 6px 0;font-weight:normal}
.cal-days-form{margin-top:12px;padding:10px 12px;background:#fff;border:1px solid #d2d6de;border-radius:4px}
.cal-registered ul{margin:0;padding-left:18px}
/* 公開ページ用の小型表示（2026-10-07、依頼者の指示）：2か月を左右に並べる。幅が足りない時は自動で縦に並ぶ */
.scal-compact .scal-months{flex-direction:row;flex-wrap:wrap;gap:8px 6px}
.scal-compact .scal-month-box{flex:1 1 100px;min-width:0;box-sizing:border-box;border:2px solid #8fb3d1;border-radius:4px;padding:3px 2px 2px}
.scal-compact .scal-month{font-size:11px;margin:0 0 2px 2px}
.scal-compact .scal-range{font-size:12px}
.scal-compact .scal-nav{padding:1px 8px;font-size:11px}
.scal-compact .scal-table th{font-size:9px;padding:1px 0}
.scal-compact .scal-table td{height:30px;padding:1px 0}
.scal-compact .scal-table td b{font-size:10px;font-weight:600}
.scal-compact .scal-table td i{font-size:6.5px;letter-spacing:-.4px;white-space:nowrap}
.scal-compact .scal-table td.sp b:after{width:3px;height:3px;margin-left:1px}
.store-calendar .store-calendar-notices{margin-top:8px;padding:4px 7px;font-size:11px;line-height:1.6}
/* 画面には出さず、スクリーンリーダー・検索エンジン向けの文章として残す */
.scal-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
