.bd-booking{max-width:720px;margin:0 auto;font-family:inherit;color:var(--text,#1e293b)}
.bd-booking-section{margin-bottom:1.5rem}
.bd-booking-section h3{font-size:1rem;font-weight:600;margin:0 0 0.75rem;color:var(--text,#1e293b)}
.bd-guests{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem}
@media(min-width:640px){.bd-guests{grid-template-columns:repeat(4,1fr)}}
.bd-guest-group{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:0.75rem;padding-bottom:5px}
.bd-guest-label{display:flex;flex-direction:column;gap:2px;min-width:0}
.bd-guest-group label{font-size:1rem;font-weight:600;color:var(--text,#1e293b)}
.bd-guest-sub{font-size:0.8rem;color:var(--bd-card-muted,#64748b);line-height:1.2}
.bd-guest-counter{display:flex;align-items:center;gap:0.5rem;border:1px solid var(--bd-card-line,#e2e8f0);border-radius:8px;padding:0.35rem 0.5rem}
.bd-guest-counter button{width:28px;height:28px;border:none;border-radius:6px;background:var(--bd-card-fill,#f1f5f9);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;color:var(--text,#1e293b)}
.bd-guest-counter button:hover{background:var(--btn-bg,#0d2c5e);color:var(--btn-text,#fff)}
.bd-guest-counter button:disabled{opacity:0.3;cursor:not-allowed}
.bd-guest-counter button:disabled:hover{background:var(--bd-card-fill,#f1f5f9);color:var(--text,#1e293b)}
.bd-guest-counter span{flex:1;text-align:center;font-weight:600;font-size:0.95rem}
.bd-guests-max{font-size:0.8em;font-weight:400;color:var(--bd-card-muted,#6b7280);margin-left:8px}
.bd-form-fields{display:flex;flex-direction:column;gap:0.75rem}
.bd-field{display:flex;flex-direction:column;gap:0.25rem}
.bd-field label{font-size:0.8rem;font-weight:500;color:#64748b}
.bd-field input{padding:0.65rem 0.75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:0.95rem;font-family:inherit;color:var(--text,#1e293b);outline:none;transition:border-color 0.15s}
.bd-field input:focus{border-color:var(--primary,#0d2c5e);box-shadow:0 0 0 2px rgba(13,44,94,0.1)}
.bd-field input::placeholder{color:#94a3b8}
/* intl-tel-input wrapper — make it fill the form field width and match
   the rest of the inputs visually. */
.bd-field .iti{width:100%;display:block}
.bd-field .iti__tel-input{width:100%}
.bd-field .iti--separate-dial-code .iti__selected-flag{background:#f8fafc;border-radius:8px 0 0 8px}
.bd-submit-wrap{margin-top:1.25rem}
.bd-submit{width:100%;padding:0.85rem;background:var(--btn-bg,#0d2c5e);color:var(--btn-text,#fff);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity 0.15s}
.bd-submit:hover{opacity:0.9}
.bd-submit:disabled{opacity:0.5;cursor:not-allowed}
.bd-form-error{margin-top:0.75rem;padding:0.75rem;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;font-size:0.85rem}
.bd-form-success{margin-top:0.75rem;padding:0.75rem;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#166534;font-size:0.85rem}
.bd-unified .bd-card-element{padding:0.75rem;border:1px solid #e2e8f0;border-radius:8px;transition:border-color 0.15s,box-shadow 0.15s}
.bd-unified .bd-card-element--focus{border-color:var(--primary,#0d2c5e);box-shadow:0 0 0 2px rgba(13,44,94,0.1)}
.bd-unified .bd-card-element--invalid{border-color:#ef4444}

.bd-verify-btn{padding:8px 16px;border:none;border-radius:8px;background:#000;color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit}
.bd-verify-btn:hover{background:#21201e}
.bd-verify-btn:disabled{opacity:0.5;cursor:not-allowed}
.bd-verify-row{display:flex;gap:8px;width:100%;align-items:stretch;min-width:0}
.bd-verify-row > input{min-width:0;flex:1}
@media (max-width:480px){
    .bd-verify-row{flex-direction:column}
    .bd-verify-row .bd-verify-btn{width:100%;padding:10px 16px}
}

/* Payment-verification overlay (booking.js _showProcessingOverlay).
   Translucent + blurred so the checkout stays visible underneath — it must read
   as "this page is working", not as a navigation to a new page. */
#bd-processing-overlay{position:fixed;inset:0;background:rgba(247,242,239,0.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:4000;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}
.bd-processing-box{max-width:420px;background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,0.18);padding:30px 36px}
.bd-processing-spinner{width:44px;height:44px;border:4px solid rgba(0,0,0,0.12);border-top-color:#000;border-radius:50%;margin:0 auto 18px;animation:bd-spin 0.9s linear infinite}
@keyframes bd-spin{to{transform:rotate(360deg)}}
.bd-processing-title{font-family:var(--bd-font-heading);font-size:1.35rem;font-weight:700;color:#111827;margin-bottom:8px}
.bd-processing-sub{font-size:0.95rem;color:#555;line-height:1.5}
