.booking-page .booking-title{margin:26px 0 18px;font-size:clamp(36px,5.5vw,64px)}.booking-intro{max-width:65ch}.booking-notice{color:#304d43;background:#edf5f1;border:1px solid #c9dcd5;border-radius:12px;margin:28px 0;padding:18px 22px}.booking-notice p{margin:5px 0 0;font-size:15px;line-height:1.6}.booking-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);align-items:start;gap:36px;display:grid}.booking-card{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:30px}.booking-card h2,.booking-information h2{margin:0 0 12px;font-size:21px}.booking-card .booking-section-title{border-top:1px solid var(--line);margin-top:8px;padding-top:26px}.booking-card .booking-caption{color:var(--dim);font-size:13px;line-height:1.6}.booking-card>.booking-caption{margin-bottom:22px}.booking-information{background:var(--sand);border-radius:14px;padding:26px}.booking-information section+section{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.booking-information h2{font-size:18px}.booking-information p{margin:10px 0;font-size:14px;line-height:1.7}.booking-information a{overflow-wrap:anywhere}.booking-information .booking-caption{color:var(--dim);font-size:12px}.booking-check{align-items:start;gap:12px;font-size:14px;line-height:1.6;display:flex}.booking-check input{accent-color:#386b60;flex-shrink:0;width:18px;height:18px;margin-top:3px}.booking-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:28px;display:flex}.booking-actions .btn:disabled{cursor:not-allowed;opacity:.5}.booking-secondary{border:1px solid var(--line);font:inherit;cursor:pointer;background:#fff;border-radius:6px;padding:13px 20px}.booking-summary{margin:24px 0}.booking-summary>div{border-bottom:1px solid var(--line);grid-template-columns:140px minmax(0,1fr);gap:16px;padding:12px 0;font-size:14px;display:grid}.booking-summary dt{color:var(--dim)}.booking-summary dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.booking-page :is(button,input,select,textarea,a):focus-visible{outline-offset:3px;outline:2px solid #386b60}@media (max-width:850px){.booking-layout{grid-template-columns:minmax(0,1fr);gap:24px}}@media (max-width:500px){.booking-card,.booking-information{padding:20px}.booking-summary>div{grid-template-columns:1fr;gap:4px}.booking-actions .btn{justify-content:center;width:100%}}
