.booking{background:#101010;border-top:1px solid var(--line)}
.booking-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:64px}
.booking form{min-width:0}
.booking fieldset{border:0;border-top:1px solid #454545;margin:30px 0;padding:24px 0 0;min-width:0}
.booking legend{font-size:20px;font-weight:700;padding-right:18px}
.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.booking label{display:flex;flex-direction:column;gap:9px;font-size:16px;color:#eee}
.booking .wide{grid-column:1/-1}
.booking input,.booking textarea{background:#1d1d1d;color:white;border:1px solid #686868;padding:13px 14px;width:100%;font:16px/1.5 'DM Sans',Arial,sans-serif;border-radius:0;color-scheme:dark}
.booking textarea{resize:vertical}
.booking input::placeholder,.booking textarea::placeholder{color:#aaa}
.booking input:focus-visible,.booking textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.booking .booking-check{flex-direction:row;align-items:flex-start;font-size:14px}
.booking-check input{width:20px;height:20px;flex:none;margin:3px 0 0;accent-color:var(--blue)}
.booking-note{font-size:14px;color:#bdbdbd;line-height:1.6}
.booking-aside{border-left:1px solid #454545;padding-left:32px}
.booking-aside>a{display:block;margin-bottom:20px;overflow-wrap:anywhere}
.booking-bank{margin-top:48px}
.booking-bank p{line-height:1.9}
#booking-status{font-size:16px;color:var(--blue)}
.booking button{cursor:pointer}
@media(max-width:800px){.booking-layout{grid-template-columns:1fr;gap:40px}.booking-aside{border-left:0;border-top:1px solid #454545;padding:32px 0 0}}
@media(max-width:500px){.booking-fields{grid-template-columns:1fr}.booking .actions button{width:100%}}
