.online-booking-grid { margin-top: 24px; }
.online-booking-grid input:not([type=checkbox]), .online-booking-grid textarea { width:100%; padding:14px 16px; border:1px solid var(--gold-border,#6e613f); border-radius:8px; background:var(--bg-card,#161616); color:var(--text-main,#fafafa); font:inherit; }
.online-booking-grid small { color:var(--text-muted,#aaa); font-size:12px; }
.booking-check { display:flex!important; gap:12px; align-items:flex-start; line-height:1.6; font-weight:400!important; }
.booking-check input { flex:0 0 auto; width:19px; height:19px; margin-top:4px; accent-color:var(--gold-primary,#d5b465); }
.booking-return[hidden], [hidden]#booking-test, [hidden]#booking-disabled { display:none!important; }
.booking-test { border:1px solid #c89f3e; padding:12px; border-radius:8px; color:var(--text-main,#eee); background:rgba(197,168,80,.12); margin:12px 0; }
.booking-honeypot { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
#booking-result { display:none; margin-top:24px; border:1px solid var(--gold-primary,#d5b465); border-radius:12px; padding:24px; }
#booking-result.is-visible { display:block; }
#booking-result p { margin:12px 0; overflow-wrap:anywhere; }
#booking-result .btn { margin:8px 8px 0 0; white-space:normal; text-align:center; }
.booking-reference { font-size:1.15rem; font-weight:700; color:var(--gold-primary,#d5b465); }
#submit-booking:disabled { opacity:.55; cursor:wait; }
html[data-theme=light] .online-booking-grid input:not([type=checkbox]), html[data-theme=light] .online-booking-grid textarea {background:#fff;color:#222;}
@media(max-width:640px) { #booking-result {padding:16px;} #booking-result .btn {width:100%;margin:8px 0 0;} }
