.booking-section{padding:100px max(24px,7vw);display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#efebe3;align-items:center}.booking-visual{align-self:stretch;border-radius:24px;overflow:hidden;position:relative;min-height:660px}.booking-visual img{width:100%;height:100%;object-fit:cover;position:absolute}.booking-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#111b)}.booking-visual-copy{position:absolute;bottom:38px;left:38px;right:38px;color:white;z-index:1}.booking-visual-copy h2{font-size:clamp(30px,3vw,48px);line-height:1.2;margin:14px 0}.booking-card{background:#faf8f3;border:1px solid #ddd6c9;border-radius:24px;padding:36px;box-shadow:0 20px 60px #4e3c1510}.booking-card h2{font-size:clamp(26px,2.5vw,38px);margin:10px 0}.booking-card>p{color:#74756e;margin:0 0 26px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid #d8d2c7;border-radius:11px;padding:13px 14px;background:#fffdf9;color:#242522;font:inherit;min-height:48px}.booking-form textarea{resize:vertical;min-height:95px}.booking-full{grid-column:1/-1}.booking-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;font-weight:400!important;font-size:12px!important;line-height:1.65}.booking-consent input{min-height:0!important;width:18px!important;margin-top:4px;flex:none;accent-color:#ae8039}.booking-consent a{text-decoration:underline}.booking-form .button{width:100%;justify-content:center;border-radius:12px}.booking-form .button:disabled{opacity:.5;cursor:wait}.booking-foot{font-size:12px;text-align:center;color:#74756e;line-height:1.6}.booking-result{border-radius:12px;background:#ebe4d5;padding:15px;line-height:1.6}.booking-result:empty{display:none}.booking-trap{position:absolute;left:-10000px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{outline:2px solid #ac813b;outline-offset:2px}@media(max-width:800px){.booking-section{padding:48px 20px;grid-template-columns:1fr;gap:22px}.booking-visual{min-height:260px}.booking-visual-copy{bottom:22px;left:24px}.booking-visual-copy p{display:none}.booking-card{padding:24px 20px}.booking-form{grid-template-columns:1fr}.booking-full{grid-column:auto}}
