/* BW Stay Manager: フロント(宿泊者名簿フォーム / デイユース切替) */
.bwsm-form h3 { margin: 1.5em 0 .5em; font-size: 1.15em; }
.bwsm-form .bwsm-instructions { color: #6b7280; font-size: .9em; margin: 0 0 1em; }
.bwsm-row { display: flex; gap: 12px; padding: .5em 0; border-bottom: 1px solid #eee; }
.bwsm-row .bwsm-label { width: 30%; font-weight: 600; color: #374151; }
.bwsm-row .bwsm-value { flex: 1; }
.bwsm-guest-row { border: 1px solid #e5e7eb; border-radius: 10px; padding: 14px 16px; margin: 0 0 14px; background: #fff; }
.bwsm-guest-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.bwsm-guest-no { font-weight: 700; }
.bwsm-remove-guest { background: none; border: 1px solid #d1d5db; border-radius: 6px; padding: 2px 10px; font-size: .85em; cursor: pointer; color: #6b7280; }
.bwsm-field { margin: 0 0 10px; }
.bwsm-field label { display: block; font-weight: 600; margin-bottom: 4px; font-size: .95em; }
.bwsm-field input[type=text], .bwsm-field input[type=tel], .bwsm-field input[type=date], .bwsm-field select { width: 100%; max-width: 100%; box-sizing: border-box; padding: .5rem .6rem; border: 1px solid #888; border-radius: 4px; font-size: 16px; }
.bwsm-field.bwsm-overseas-only { display: none; }
.bwsm-guest-row.is-overseas .bwsm-field.bwsm-overseas-only { display: block; }
.bwsm-checkbox { display: inline-flex; gap: 6px; align-items: center; font-weight: 400; }
.bwsm-required { color: #dc2626; }
.bwsm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-decoration: none; cursor: pointer; border-radius: 10px; padding: 12px 18px; font-weight: 600; border: 0; background: #2563eb; color: #fff; font-size: 1em; }
.bwsm-btn-ghost { background: transparent; color: #111827; border: 1px solid #e5e7eb; }
.bwsm-btn-primary { background: #2563eb; color: #fff; }
.bwsm-submit { margin-top: 24px; }
.bwsm-submit .bwsm-btn { width: 100%; }
.bwsm-errors { background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px; padding: 12px 16px; margin: 0 0 16px; color: #991b1b; }
.bwsm-errors ul { margin: .3em 0 0 1.2em; }
.bwsm-msg-info { background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 10px; padding: 10px 14px; }
.bwsm-boot { padding: 3rem 1rem; text-align: center; }
.gr-confirm-table { width: 100%; border-collapse: collapse; margin-bottom: 1em; }
.gr-confirm-table th, .gr-confirm-table td { border-bottom: 1px solid #eee; padding: .5rem; text-align: left; }
.gr-confirm-table th { background: #f9fafb; font-weight: 600; width: 30%; }
.gr-btns { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
.gr-error-card { text-align: center; }
@media (max-width: 640px) {
	.bwsm-row { flex-direction: column; gap: 2px; }
	.bwsm-row .bwsm-label { width: auto; }
}

/* デイユース切替(bp-dayuse-button.js / bp-dayuse.js) */
#bp-dayuse-toggle { margin: 8px 0 12px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
#bp-dayuse-toggle-label { font-size: 13px; color: #444; }
.bp-dayuse-btn { border-radius: 16px; padding: 4px 10px; font-size: 12px; line-height: 1.4; border: 1px solid #ccc; background: #f9fafb; cursor: pointer; }
.bp-dayuse-btn.is-active { background: #238c3b; color: #fff; border-color: #238c3b; }
/* 通常宿泊のときだけ選択日をハイライト */
body:not(.bp-dayuse-mode) #booking-package_calendarPage .selected_day_slot,
body:not(.bp-dayuse-mode) #bookingworks_calendarPage .selected_day_slot { background-color: #b1daff; }
/* デイユース中は自動選択した翌日(チェックアウト)のハイライトを消す */
body.bp-dayuse-mode #booking-package_calendarPage .selected_day_slot.selected_end_day,
body.bp-dayuse-mode #bookingworks_calendarPage .selected_day_slot.selected_end_day { background-color: transparent !important; }
/* 個人情報入力画面では切替不可(選択中のみ表示) */
#booking-package_durationStay.nextPageBookingDetails #bp-dayuse-toggle button.bp-dayuse-btn,
#bookingworks_durationStay.nextPageBookingDetails #bp-dayuse-toggle button.bp-dayuse-btn { display: none; }
#booking-package_durationStay.nextPageBookingDetails #bp-dayuse-toggle button.bp-dayuse-btn.is-active,
#bookingworks_durationStay.nextPageBookingDetails #bp-dayuse-toggle button.bp-dayuse-btn.is-active { display: inline; pointer-events: none; }
