.lapt-booking, .lapt-contact-form { --olive:#687052; --olive-dark:#3f4935; --terra:#c66f49; --cream:#fbf5eb; --ink:#2e3128; color:var(--ink); }
.lapt-booking { overflow:hidden; max-width:980px; margin:0 auto; border:1px solid rgba(63,73,53,.18); border-radius:30px; background:#fffdf9; box-shadow:0 22px 70px rgba(61,51,37,.10); }
.lapt-booking__intro { padding:38px 40px 25px; text-align:center; }
.lapt-booking__intro h2 { margin-bottom:10px; font-size:clamp(2rem,4vw,3.4rem); }
.lapt-booking__kicker { margin-bottom:8px; color:var(--terra); font-size:.76rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.lapt-booking__type { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:0 40px 28px; }
.lapt-booking__type label { cursor:pointer; }
.lapt-booking__type input { position:absolute; opacity:0; }
.lapt-booking__type span { display:flex; align-items:center; justify-content:center; min-height:54px; padding:10px 16px; border:1px solid rgba(63,73,53,.22); border-radius:999px; background:var(--cream); font-weight:750; text-align:center; transition:.2s ease; }
.lapt-booking__type input:checked + span { color:#fff; border-color:var(--olive); background:var(--olive); box-shadow:0 10px 25px rgba(63,73,53,.18); }
.lapt-booking-form { padding:34px 40px 44px; background:#f9f1e6; }
.lapt-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.lapt-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.lapt-field--full { grid-column:1/-1; }
.lapt-field > span { font-size:.84rem; font-weight:800; }
.lapt-field input, .lapt-field select, .lapt-field textarea { width:100%; min-height:52px; padding:12px 14px; border:1px solid rgba(63,73,53,.24); border-radius:13px; color:var(--ink); background:#fff; font:inherit; outline:none; }
.lapt-field textarea { min-height:110px; resize:vertical; }
.lapt-field input:focus, .lapt-field select:focus, .lapt-field textarea:focus { border-color:var(--olive); box-shadow:0 0 0 3px rgba(104,112,82,.14); }
.lapt-field small { color:#686b61; font-size:.77rem; }
.lapt-consent { display:flex; align-items:flex-start; gap:10px; font-size:.85rem; }
.lapt-consent input { margin-top:5px; }
.lapt-submit { display:inline-flex; min-height:54px; margin-top:24px; padding:14px 28px; border:0; border-radius:999px; color:#fff; background:var(--terra); box-shadow:0 12px 28px rgba(166,82,51,.2); font:800 .9rem/1.2 inherit; cursor:pointer; }
.lapt-submit:hover { background:#a75233; transform:translateY(-1px); }
.lapt-submit:disabled { cursor:wait; opacity:.65; }
.lapt-form-alert { display:none; margin-bottom:20px; padding:14px 16px; border-radius:12px; }
.lapt-form-alert.is-error, .lapt-form-alert.is-success { display:block; }
.lapt-form-alert.is-error { color:#7d291f; background:#f8dcd6; }
.lapt-form-alert.is-success { color:#29412a; background:#dcebd9; }
.lapt-booking__summary { margin-top:22px; padding:18px; border-left:4px solid var(--terra); border-radius:0 12px 12px 0; background:#fff; }
.lapt-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.lapt-contact-form { max-width:720px; padding:30px; border:1px solid rgba(63,73,53,.18); border-radius:24px; background:#fffdf9; box-shadow:0 18px 50px rgba(61,51,37,.08); }
@media(max-width:700px){.lapt-booking__intro,.lapt-booking-form{padding-right:22px;padding-left:22px}.lapt-booking__type{grid-template-columns:1fr;padding-right:22px;padding-left:22px}.lapt-form-grid{grid-template-columns:1fr}.lapt-field--full{grid-column:auto}.lapt-contact-form{padding:22px}}

