/* 宿泊予約（空室カレンダー・宿泊プラン）2026-10 */
.brg-banner{background:#FFF8EC;border:1.5px solid #F0C27A;border-radius:var(--radius,12px);padding:16px 20px;margin:0 0 24px;}
.brg-banner .brg-title{margin:0 0 6px;font-weight:700;font-size:16px;}
.brg-banner .brg-title span{display:inline-block;margin-left:10px;padding:2px 10px;border-radius:999px;background:#E8A33D;color:#fff;font-size:12px;vertical-align:2px;}
.brg-banner ul{margin:0;padding-left:1.2em;font-size:14px;}
.plan-book{background:#F4F8F7;border-radius:var(--radius,12px);padding:16px 20px;margin:0 0 24px;}
.plan-book .plan-lead{margin:0 0 8px;font-weight:700;}
.plan-book .plan-brg{margin:0 0 12px;font-size:14px;}

.stay-tools{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-end;margin:0 0 16px;}
.stay-tools .field{min-width:240px;}
.stay-tools [hidden]{display:none !important;}    /* .field{display:flex} が hidden を打ち消すため（プラン1つのとき選択欄を隠す） */
.stay-tools label{display:block;font-size:13px;font-weight:700;margin-bottom:4px;}
.stay-tools select{width:100%;padding:8px 10px;border:1.5px solid #cfd8dc;border-radius:8px;font:inherit;background:#fff;}
.unit-tabs{display:flex;gap:8px;flex-wrap:wrap;}
.unit-tabs button{border:1.5px solid #cfd8dc;background:#fff;border-radius:999px;padding:8px 16px;font:inherit;font-weight:700;cursor:pointer;}
.unit-tabs button[aria-pressed="true"]{background:#2b5d57;border-color:#2b5d57;color:#fff;}
.unit-tabs small{font-weight:500;opacity:.85;margin-left:4px;}
.plan-perks{font-size:14px;margin:0 0 14px;white-space:pre-line;}

.stay-wrap{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start;}
@media (max-width:860px){.stay-wrap{grid-template-columns:1fr;}}
.stay-cal{background:#fff;border-radius:var(--radius,12px);box-shadow:0 2px 10px rgba(0,0,0,.06);overflow:hidden;}
.stay-cal .nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#F0F5F9;}
.stay-cal .nav button{border:1.5px solid #cfd8dc;background:#fff;border-radius:999px;padding:6px 14px;font:inherit;font-weight:700;cursor:pointer;}
.stay-cal .nav button:disabled{opacity:.35;cursor:default;}
.stay-cal .stay-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));}
.stay-cal .dow{text-align:center;font-size:12px;font-weight:700;padding:6px 0;background:#2b5d57;color:#fff;}
.stay-cal .cell{min-height:64px;border-top:1px solid #eef1f3;border-left:1px solid #eef1f3;padding:4px 2px;text-align:center;font-size:12px;}
.stay-cal .cell .d{display:block;font-weight:700;font-size:13px;}
.stay-cal .cell .mk{display:block;font-weight:800;font-size:15px;line-height:1.3;}
.stay-cal .cell .pr{display:block;font-size:10.5px;color:#556;}
.stay-cal .cell.sun .d{color:#D3220A;} .stay-cal .cell.sat .d{color:#328ACA;}
.stay-cal .cell.ok{cursor:pointer;} .stay-cal .cell.ok .mk{color:#1E8F5F;}
.stay-cal .cell.ok:hover{background:#EEF8F6;}
.stay-cal .cell.full .mk{color:#D3220A;} .stay-cal .cell.closed .mk{color:#9AA7B2;}
.stay-cal .cell.past,.stay-cal .cell.blank{background:#FAFBFC;color:#B7C2CB;}
.stay-cal .cell.in{background:#2b5d57;color:#fff;} .stay-cal .cell.in .mk,.stay-cal .cell.in .pr,.stay-cal .cell.in .d{color:#fff;}
.stay-cal .cell.stay{background:#d8ece8;}
.stay-cal .cell.hold{background:#FBF7EE;} .stay-cal .cell.hold .mk{color:#B8965A;font-size:13px;} .stay-cal .cell.hold .pr{color:#A5844A;}
.stay-cal .legend{padding:10px 14px;margin:0;font-size:12px;color:#556;}
.stay-cal .status{padding:10px 14px;margin:0;font-size:13px;color:#556;}

.stay-panel{background:#fff;border-radius:var(--radius,12px);box-shadow:0 2px 10px rgba(0,0,0,.06);padding:18px 20px;scroll-margin-top:12px;}
.stay-panel h3{margin:0 0 10px;font-size:17px;}
.stay-panel .row{margin:0 0 10px;font-size:14px;}
.stay-panel select{padding:8px 10px;border:1.5px solid #cfd8dc;border-radius:8px;font:inherit;background:#fff;}
.stay-panel table{width:100%;border-collapse:collapse;font-size:13.5px;margin:6px 0 12px;}
.stay-panel td{padding:4px 2px;border-bottom:1px solid #eef1f3;} .stay-panel td.num{text-align:right;}
.stay-panel .total{font-size:16px;font-weight:700;margin:0 0 12px;}
.stay-panel .muted{font-size:12.5px;color:#667;margin:0 0 10px;}
.stay-panel .btn{display:inline-block;}
@media (max-width:520px){.stay-cal .cell .pr{font-size:9px;letter-spacing:-.02em;}.stay-cal .cell{min-height:56px;padding:3px 0;}.stay-tools .field{min-width:0;width:100%;}.brg-banner{padding:14px 14px;}}
