.booking-guide{background:#eef6fb;border-top:4px solid var(--blue);padding:32px;border-radius:10px}
.booking-guide .booking-intro{max-width:760px}
.content .booking-guide h2{margin:12px 0 20px}
.trial-booking-times{margin:28px 0 32px;scroll-margin-top:130px}
.content .trial-booking-times h3{margin:0 0 18px;color:var(--blue)}
.booking-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}
.booking-times>div{min-width:0;background:#fff;border:1px solid #d0e0ea;border-radius:8px;padding:20px}
.booking-times dt{font-weight:800;color:var(--blue);margin-bottom:12px}
.booking-times dd{margin:0;font-size:16px;line-height:1.95}
.booking-hours-note{border-left:4px solid var(--orange);padding:10px 16px;font-size:16px;line-height:1.9;background:#fff}
.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}
.booking-card{background:white;padding:24px;border:1px solid #d0e0ea;border-radius:8px;min-width:0}
.content .booking-card h3{margin:0 0 18px;color:var(--blue)}
.booking-card label{display:block;font-size:14px;font-weight:700;margin-bottom:8px;color:#526977}
.booking-template{display:block;box-sizing:border-box;width:100%;min-height:170px;resize:vertical;border:1px solid #b4cbd9;border-radius:6px;background:#f8fbfd;color:#17364b;font:inherit;font-size:16px;line-height:1.9;padding:16px}
.booking-copy{display:inline-flex;align-items:center;justify-content:center;margin-top:16px;padding:13px 22px;background:var(--blue);border:2px solid var(--blue);border-radius:6px;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.booking-copy:hover{background:#06446c}.booking-copy:focus-visible,.booking-template:focus-visible{outline:3px solid #ed831c;outline-offset:4px}
.booking-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:18px}
.booking-actions .booking-line{display:flex;justify-content:center;text-align:center;font-size:16px;padding:14px 18px;border-radius:6px;white-space:normal}
.booking-actions .booking-copy{margin-top:0;background:#fff;color:var(--blue);font-size:14px;padding:10px 16px}
.booking-actions .booking-copy:hover{background:#edf6fa}
.booking-line:focus-visible{outline:3px solid #ed831c;outline-offset:4px}
.booking-status{min-height:2em;margin:10px 0 0!important;font-size:14px;color:#145c40;line-height:1.6}
.booking-footer{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.booking-footer p{margin:0;font-size:14px}
.booking-guide,#kids-booking,#home-voices-title{scroll-margin-top:130px}
.home-voices{background:#eef6fb}.voices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:28px 0}
.voice-card{background:#fff;border-top:4px solid var(--blue);border-radius:8px;padding:26px;min-width:0}
.voice-card:nth-child(2){border-color:var(--orange)}.voice-card .voice-label{font-size:13px;font-weight:800;color:var(--blue);letter-spacing:.08em;margin:0 0 18px}
.voice-card blockquote{margin:0;font-size:18px;font-weight:700;line-height:1.95;color:#17364b}.voice-card .voice-source{font-size:13px;color:#526977;margin:22px 0 0}
.home-voices .note{font-size:13px;line-height:1.8;color:#526977}
@media(max-width:760px){.booking-grid,.voices-grid{grid-template-columns:1fr}.booking-guide{padding:24px 18px}.booking-card,.voice-card{padding:22px}.booking-template{min-height:210px}.booking-copy{width:100%}.booking-footer .social-line{width:100%;text-align:center}.booking-guide h2{font-size:25px}}
@media(max-width:760px){.booking-times{grid-template-columns:1fr}.booking-times>div{padding:18px}}

/* Compact LINE reservation cards. Templates appear only for manual-copy recovery. */
.booking-template[hidden],.booking-card label[hidden]{display:none}
.content .booking-card h3{margin-bottom:10px}
.booking-card .booking-card-note{font-size:14px;margin:0;color:#526977}
.booking-help{margin-top:18px;font-size:14px;color:#526977}
.booking-help summary{cursor:pointer;color:var(--blue);font-weight:700;line-height:1.8}
.booking-help summary:focus-visible{outline:3px solid #ed831c;outline-offset:4px}
.booking-help p{font-size:14px;line-height:1.8;margin:12px 0}
.booking-help .booking-copy{display:inline-block;width:auto;margin-top:0;padding:0;background:transparent;border:0;border-radius:0;color:var(--blue);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px;text-align:left}
.booking-help .booking-copy:hover{background:transparent;color:#06446c}
.booking-help .booking-template{min-height:150px;margin-bottom:14px}
.booking-status:empty{display:none}
.booking-reply-note{font-size:14px;margin-bottom:0!important;color:#526977}
