/* Push 予約フォーム（SAKURAのフォームを流用。色は --bk で切り替え） */
.booking-card{--bk:#8a6446;--bk2:#c99467;--bkline:#e6dbcf;background:#fff;border-radius:22px;padding:22px 18px 20px;box-shadow:0 16px 40px rgba(120,85,60,.10)}
.booking-card.is-jiko{--bk:#1f4e79;--bk2:#2f9e84;--bkline:#d7e1ea}
.bk-step{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;color:#3b3530;margin:16px 0 10px}
.bk-step:first-child{margin-top:0}
.bk-step span{width:22px;height:22px;border-radius:50%;background:var(--bk);color:#fff;display:grid;place-items:center;font-size:11.5px}
.bk-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.bk-date{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 2px;border:1px solid var(--bkline);border-radius:11px;background:#fff;cursor:pointer;font-family:inherit}
.bk-date i{font-style:normal;font-size:12.5px;font-weight:800;color:#3f3730}
.bk-date em{font-style:normal;font-size:9.5px;color:#8d8176}
.bk-date s{display:block;font-size:9.5px;line-height:1.5;text-decoration:none;color:#8a7c6a;font-weight:700}
.bk-date s.ok{color:#2f7a4f}
.bk-date.has-few s.ok{color:#c0642a}
.bk-date.is-on{background:var(--bk);border-color:var(--bk)}
.bk-date.is-on i,.bk-date.is-on em,.bk-date.is-on s,.bk-date.is-on s.ok{color:#fff}
.bk-date.is-closed,.bk-date.is-full{opacity:.42;cursor:not-allowed;background:#f5f0ea}
.bk-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;min-height:44px}
.bk-slot{padding:11px 2px;border:1px solid var(--bkline);border-radius:11px;background:#fff;font-family:inherit;font-size:13.5px;font-weight:700;color:#3f3730;cursor:pointer}
.bk-slot.is-on{background:var(--bk);border-color:var(--bk);color:#fff}
.bk-slot.is-off{opacity:.36;cursor:not-allowed;background:#f5f0ea}
.bk-slot u{text-decoration:none;display:block;font-size:9px;color:#a8998c}
.bk-hint{grid-column:1/-1;font-size:12px;color:#8d8176;text-align:center;padding:10px 0}
.bk-fields{display:grid;gap:11px}
.bk-fields label{display:block;font-size:11.5px;font-weight:700;color:#5f564d}
.bk-fields input,.bk-fields select{width:100%;margin-top:5px;padding:12px 13px;border:1px solid var(--bkline);border-radius:11px;font-size:16px;background:#fdfbf9;color:#2f2925;font-family:inherit}
.bk-opt{margin-left:6px;padding:1px 6px;border-radius:6px;background:#f1ebe4;font-size:10px;font-weight:700;color:#7d7064}
.bk-submit{width:100%;margin-top:18px;height:58px;border:0;border-radius:999px;background:linear-gradient(105deg,var(--bk2),var(--bk));color:#fff;font-family:inherit;font-size:16px;font-weight:800;cursor:pointer}
.bk-submit:disabled{opacity:.6;cursor:wait}
.bk-note{margin-top:10px;font-size:12.5px;text-align:center}
.bk-note.is-err{color:#c8483f;font-weight:700}
.bk-legal{margin-top:12px;font-size:10.5px;color:#8d8176;line-height:1.7;text-align:center}
.bk-done{text-align:center;padding:16px 4px}
.bk-done strong{display:block;font-size:19px;color:var(--bk);margin-bottom:8px}
.bk-done p{font-size:15px;font-weight:700;color:#3f3730}
.bk-done .bk-done-note{margin-top:12px;font-size:12px;font-weight:400;color:#6f655c;line-height:1.8}
.mtags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.mtags span{font-size:11px;font-weight:700;color:#7a5a40;background:#f6eee4;border-radius:999px;padding:3px 9px}
