/* 美STAR Booking Bridge — 既存の相談フォーム(quick-inquiry)とトーンを合わせたピンク基調 */
.bstar-booking{margin:2.5em 0 1em;padding:1.6em 1.5em;background:linear-gradient(135deg,#fff 0%,#fff5f8 100%);border:1px solid #f8bbd0;border-radius:10px;box-shadow:0 4px 16px rgba(233,30,99,.07)}
.bstar-booking-head h2{font-size:1.25em;margin:0 0 .35em;color:#222;line-height:1.45;font-weight:700;letter-spacing:.01em}
.bstar-booking-head p{margin:0 0 1em;color:#555;font-size:.9em;line-height:1.6}
.bstar-booking-head p strong{color:#e91e63}

.bstar-booking-job-context{background:#fff;border:1px dashed #f8bbd0;border-radius:6px;padding:.55em .85em;margin-bottom:1em;display:flex;align-items:center;gap:.6em;flex-wrap:wrap}
.bstar-booking-jobtag{display:inline-block;padding:.18em .55em;background:#e91e63;color:#fff;border-radius:3px;font-size:.72em;font-weight:700;letter-spacing:.05em}
.bstar-booking-jobname{flex:1;font-size:.88em;color:#333;font-weight:600;line-height:1.45}
.bstar-booking-caseno{display:block;width:100%;margin-top:2px;font-size:11px;color:#888;font-family:monospace}

/* 枠選択 */
.bstar-booking-loading,.bstar-booking-loaderr{padding:1.2em;text-align:center;color:#777;font-size:.9em}
.bstar-booking-loaderr{color:#bf360c}
.bstar-booking-retry{margin-left:.5em;padding:.3em .9em;background:#e91e63;color:#fff;border:0;border-radius:4px;cursor:pointer;font-size:.85em}
.bstar-booking-step{font-weight:700;color:#333;margin:.2em 0 .6em;font-size:.95em}
.bstar-booking-step2{margin-top:1.1em}

/* ① 日付バー（横スクロール） */
.bstar-booking-datebar{display:flex;gap:.5em;overflow-x:auto;padding:.2em .1em .5em;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.bstar-booking-datechip{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.1em;min-width:64px;padding:.5em .6em;border:1px solid #e0c4ce;border-radius:8px;background:#fff;cursor:pointer;font-family:inherit;line-height:1.25;transition:border-color .12s,background .12s,box-shadow .12s}
.bstar-booking-datechip:hover{border-color:#e91e63}
.bstar-booking-datechip.is-active{background:linear-gradient(135deg,#e91e63 0%,#ec407a 100%);border-color:#e91e63;box-shadow:0 3px 10px rgba(233,30,99,.25)}
.bstar-booking-datechip.is-active .bstar-booking-dc-wd,
.bstar-booking-datechip.is-active .bstar-booking-dc-date,
.bstar-booking-datechip.is-active .bstar-booking-dc-cnt{color:#fff}
.bstar-booking-dc-wd{font-size:.72em;color:#e91e63;font-weight:700}
.bstar-booking-dc-date{font-size:1.05em;color:#333;font-weight:700}
.bstar-booking-dc-cnt{font-size:.64em;color:#999}

/* ② 時間グリッド */
.bstar-booking-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5em}
.bstar-booking-slot{display:flex;align-items:center;justify-content:center;gap:.35em;padding:.55em .4em;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:.9em;font-family:inherit;transition:border-color .12s,box-shadow .12s,transform .08s}
.bstar-booking-slot .bstar-booking-time{font-weight:600;color:#333}
.bstar-booking-slot .bstar-booking-mark{font-weight:700}
.bstar-booking-slot.is-open .bstar-booking-mark{color:#2e7d32}
.bstar-booking-slot.is-few .bstar-booking-mark{color:#ef6c00}
.bstar-booking-slot.is-open:hover,.bstar-booking-slot.is-few:hover{border-color:#e91e63;box-shadow:0 0 0 3px rgba(233,30,99,.1);transform:translateY(-1px)}
.bstar-booking-slot.is-full{color:#bbb;background:#f7f7f7;cursor:not-allowed}
.bstar-booking-slot.is-full .bstar-booking-time{color:#bbb}
.bstar-booking-slot.is-full .bstar-booking-mark{color:#ccc}
.bstar-booking-slot[disabled]{cursor:not-allowed}
.bstar-booking-legend{margin:.8em 0 0;font-size:.78em;color:#888;text-align:right}

/* 選択中バー */
.bstar-booking-selected{display:flex;align-items:center;gap:.6em;flex-wrap:wrap;background:#fff;border:1px solid #f8bbd0;border-radius:6px;padding:.6em .85em;margin-bottom:1em}
.bstar-booking-selected-label{font-size:.74em;color:#e91e63;font-weight:700;letter-spacing:.04em}
.bstar-booking-selected-when{flex:1;font-size:1em;color:#222}
.bstar-booking-change{padding:.3em .8em;background:#fff;border:1px solid #e91e63;color:#e91e63;border-radius:4px;font-size:.8em;cursor:pointer}
.bstar-booking-change:hover{background:#fff0f5}

/* 入力フォーム（quick-inquiry と同系統） */
.bstar-field{margin-bottom:.75em}
.bstar-field label{display:block;font-size:.85em;color:#444;font-weight:600;margin-bottom:.3em}
.bstar-field input,.bstar-field textarea{width:100%;padding:.65em .8em;border:1px solid #ddd;border-radius:5px;font-size:1em;font-family:inherit;background:#fff;box-sizing:border-box;transition:border-color .15s}
.bstar-field input:focus,.bstar-field textarea:focus{outline:none;border-color:#e91e63;box-shadow:0 0 0 3px rgba(233,30,99,.1)}
.bstar-field textarea{resize:vertical;min-height:60px}
.bstar-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.7em}
.bstar-field-hint{display:block;margin-top:.25em;font-size:.72em;color:#999}

/* プライバシーポリシー モーダル（iframe・ページ遷移なし） */
.bstar-pp-modal{display:none;position:fixed;inset:0;z-index:100000}
.bstar-pp-modal.is-open{display:block}
.bstar-pp-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.bstar-pp-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(720px,92vw);height:min(80vh,820px);background:#fff;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.35);overflow:hidden;display:flex;flex-direction:column}
.bstar-pp-close{position:absolute;top:8px;right:10px;z-index:2;width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:1.3em;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.bstar-pp-close:hover{background:rgba(0,0,0,.75)}
.bstar-pp-frame{flex:1;width:100%;border:0}
@media(max-width:560px){
	.bstar-pp-dialog{width:96vw;height:88vh}
}
.bstar-req{display:inline-block;padding:.05em .4em;background:#e91e63;color:#fff;border-radius:3px;font-size:.65em;font-weight:700;margin-left:.3em;vertical-align:middle}
.bstar-consent{margin:1em 0 .8em;font-size:.85em;color:#555}
.bstar-consent label{display:flex;align-items:center;gap:.4em;cursor:pointer;line-height:1.5}
.bstar-consent input[type=checkbox]{width:1.05em;height:1.05em;accent-color:#e91e63}
.bstar-consent a{color:#e91e63;text-decoration:underline;text-underline-offset:2px}
.bstar-booking-error{padding:.7em .9em;background:#fff3e0;border:1px solid #ffb74d;border-radius:6px;margin-bottom:.9em;color:#bf360c;font-size:.86em}
.bstar-booking-submit{display:block;width:100%;padding:.95em 1.4em;background:linear-gradient(135deg,#e91e63 0%,#ec407a 100%);color:#fff;border:0;border-radius:6px;font-size:1.05em;font-weight:700;cursor:pointer;letter-spacing:.02em;box-shadow:0 4px 14px rgba(233,30,99,.25);transition:transform .15s,box-shadow .15s}
.bstar-booking-submit:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(233,30,99,.35)}
.bstar-booking-submit:disabled{opacity:.6;cursor:wait;transform:none}

/* 完了 */
.bstar-booking-done-inner{text-align:center;padding:1.4em 1em}
.bstar-booking-check{width:54px;height:54px;margin:0 auto .6em;border-radius:50%;background:#e8f5e9;color:#2e7d32;font-size:1.9em;line-height:54px;font-weight:700}
.bstar-booking-done-inner h3{margin:0 0 .5em;color:#1b5e20;font-size:1.2em}
.bstar-booking-done-inner p{margin:.4em 0;color:#555;font-size:.9em;line-height:1.6}
.bstar-booking-when-confirmed strong{color:#222}
.bstar-booking-meet{display:inline-block;margin:.4em 0;padding:.7em 1.4em;background:#1a73e8;color:#fff;border-radius:6px;text-decoration:none;font-weight:700}
.bstar-booking-done-note{font-size:.8em;color:#888}

@media(max-width:560px){
	.bstar-booking{padding:1.2em 1em}
	.bstar-field-row{grid-template-columns:1fr}
	.bstar-booking-times{grid-template-columns:repeat(auto-fill,minmax(74px,1fr))}
}
