.booking{padding:7.5rem 0 4.5rem;min-height:70vh}
.booking-inner{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;align-items:start}
.booking h1{font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.2;margin-bottom:.6rem}
.lead{color:#4d6361;margin-bottom:1.5rem;max-width:56ch}
.bk-form{display:grid;grid-template-columns:1fr 1fr 110px;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.5rem}
.bk-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:500}
.bk-form .full{grid-column:1/-1}
.bk-form input,.bk-form select,.bk-form textarea{font:inherit;padding:.65rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);width:100%}
.hp{position:absolute;left:-9999px}
.alert{background:#fbe4e1;color:#7d1f14;border-radius:10px;padding:.9rem 1.1rem;margin-bottom:1.2rem;font-size:.92rem}
.alert ul{padding-left:1.1rem}
.bk-side{background:var(--deep);color:#d6e2e0;border-radius:14px;padding:1.6rem;font-size:.95rem}
.bk-side h2{color:#fff;font-size:1.2rem;margin-bottom:.6rem}.bk-side p{margin-bottom:.8rem}.bk-side a{color:var(--gold)}
.confirm{max-width:640px}
.ref{display:inline-block;background:#e3f4e8;color:#17653a;border-radius:10px;padding:.7rem 1.1rem;margin-bottom:1.5rem}
.ref strong{font-size:1.3rem;letter-spacing:.06em;margin-left:.5rem}
.summary{display:grid;grid-template-columns:130px 1fr;gap:.5rem 1rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.3rem;margin-bottom:1.5rem}
.summary dt{color:#5d7270;font-size:.88rem}.summary dd{font-weight:500}
@media (max-width:900px){.booking-inner{grid-template-columns:1fr}}
@media (max-width:600px){.bk-form{grid-template-columns:1fr 1fr}.bk-form .full{grid-column:1/-1}.bk-form label:nth-of-type(4){grid-column:1/-1}.booking{padding-top:6.5rem}}
.deposit{border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center}
.deposit legend{font-size:.85rem;font-weight:500;padding:0 .4rem}
.deposit .opt{flex-direction:row;align-items:center;gap:.5rem}.deposit input{width:auto}
.deposit small{flex-basis:100%;color:#5d7270;font-size:.8rem}
.paybox{background:#fff8ea;border:1px solid #f0d9a8;border-radius:12px;padding:1.2rem;margin-bottom:1.5rem}
.paybox p{margin-bottom:.8rem}
.okbox{background:#e3f4e8;color:#17653a;border-radius:12px;padding:1rem 1.2rem;margin-bottom:1.5rem}
.ext{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.3rem;margin:1.5rem 0;display:grid;gap:.8rem}
.ext h2{font-size:1.1rem}.ext label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:500}
.ext input,.ext textarea{font:inherit;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;width:100%}
