
:root{--ink:#111318;--navy:#142036;--gold:#cda02b;--cream:#f6f1e6;--line:#e5dfd2;--muted:#707070}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.booking-page{margin:0;background:#f6f4ee;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.booking-top{background:#111318;color:#fff;min-height:64px;padding:10px clamp(14px,4vw,38px);display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:baseline;gap:12px;color:#fff;text-decoration:none}.brand-hph{font-family:Georgia,serif;font-size:34px;color:#e0b33d}.brand-name{font-size:10px;letter-spacing:.22em}.back{color:#fff;text-decoration:none;font-size:12px}
.booking-shell{max-width:1050px;margin:0 auto;padding:clamp(28px,6vw,70px) clamp(14px,4vw,34px)}
.booking-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;color:#9a7213;margin:0 0 9px}.booking-intro h1{font-family:Georgia,serif;color:var(--navy);font-size:clamp(40px,6vw,64px);margin:0 0 14px}.booking-intro p{max-width:650px;color:#5c5c5c;line-height:1.7;margin:0}.pay-badge{flex:0 0 190px;background:#111;color:#fff;border-radius:16px;padding:18px}.pay-badge span,.pay-badge small{display:block;font-size:10px;color:#aaa}.pay-badge strong{display:block;color:#e0b33d;font-size:18px;margin:7px 0}
.booking-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(18px,4vw,34px);box-shadow:0 14px 50px rgba(0,0,0,.06)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label{display:flex;flex-direction:column;gap:7px;min-width:0}.form-grid label.full{grid-column:1/-1}.form-grid label>span{font-size:12px;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #d8d2c6;border-radius:11px;background:#fff;padding:13px 14px;min-height:48px;color:#111;font:inherit}.form-grid textarea{resize:vertical}.form-grid small{font-size:10px;color:#888}
.booking-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0}.booking-summary>div{background:#f7f3e9;border-radius:12px;padding:15px}.booking-summary span{display:block;font-size:10px;color:#777;margin-bottom:7px}.booking-summary strong{font-size:16px}
.availability-msg{padding:14px 16px;border-radius:11px;margin-bottom:16px;font-size:13px}.availability-msg.ok{background:#eaf6ed;color:#216733}.availability-msg.no{background:#fff0ef;color:#a13a32}.availability-msg.info{background:#eef3fb;color:#315b8c}
.booking-actions{display:flex;justify-content:flex-end;gap:10px}.booking-actions button{min-height:50px;border-radius:999px;padding:11px 22px;font-weight:800;font-size:12px;cursor:pointer}.btn-outline{background:#fff;border:1px solid #aaa}.btn-gold{background:var(--gold);border:1px solid var(--gold);color:#111}.booking-actions button:disabled{opacity:.5;cursor:not-allowed}.terms{font-size:10px;line-height:1.6;color:#999;margin:16px 0 0}
.confirmation{position:fixed;inset:0;background:rgba(10,12,16,.72);z-index:9999;display:flex;align-items:center;justify-content:center;padding:18px}.confirmation[hidden]{display:none}.confirmation-card{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:20px;padding:30px;text-align:center}.success-mark{width:58px;height:58px;border-radius:50%;background:#e9f6ec;color:#25703a;display:grid;place-items:center;font-size:28px;font-weight:900;margin:0 auto 15px}.confirmation-card h2{font-family:Georgia,serif;color:var(--navy);font-size:30px;margin:5px 0 14px}.booking-number{background:#111;color:#e0b33d;border-radius:12px;padding:17px;font-size:25px;font-weight:900;letter-spacing:.08em;margin-bottom:18px}.confirmation-details{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:10px;margin:18px 0}.confirmation-details div{background:#f7f4ed;border-radius:10px;padding:12px}.confirmation-details span{display:block;font-size:9px;color:#888;margin-bottom:5px}.confirmation-details strong{font-size:13px}.confirmation-note{display:flex;flex-direction:column;gap:5px;border-top:1px solid #eee;border-bottom:1px solid #eee;padding:16px 0;font-size:12px}.confirmation-note span{color:#777}.confirmation-actions{display:flex;gap:10px;margin-top:18px}.confirmation-actions button,.confirmation-actions a{flex:1;min-height:44px;border-radius:999px;padding:10px 14px;font-size:11px;font-weight:800;text-decoration:none;display:grid;place-items:center}.confirmation-actions button{border:1px solid #aaa;background:#fff}.confirmation-actions a{background:#cda02b;color:#111}
@media(max-width:700px){.booking-intro{align-items:stretch;flex-direction:column}.pay-badge{flex:auto}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.booking-summary{grid-template-columns:1fr 1fr}.booking-actions{flex-direction:column}.booking-actions button{width:100%}.confirmation-details{grid-template-columns:1fr}.confirmation-actions{flex-direction:column}}
