.ovb-form{max-width:680px;margin:24px auto;padding:clamp(18px,4vw,32px);background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 8px 28px rgba(15,23,42,.06);color:#172033}
.ovb-form h3{margin:0 0 22px;font-size:1.5rem;line-height:1.25;color:#000}
.ovb-field{margin:0 0 16px}
.ovb-field label{display:block;font-weight:600;margin-bottom:7px}
.ovb-field input,.ovb-field select,.ovb-field textarea{display:block;width:100%;max-width:100%;min-height:44px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172033;box-sizing:border-box;font:inherit}
.ovb-field textarea{resize:vertical}
.ovb-field input:focus,.ovb-field select:focus,.ovb-field textarea:focus{outline:2px solid #93c5fd;outline-offset:1px;border-color:#2563eb}
.ovb-field select:disabled{background:#f1f5f9;color:#64748b}
.ovb-slot-message{display:block;margin-top:6px;color:#64748b}
.ovb-privacy{font-size:.875rem;color:#64748b}
.ovb-submit{display:inline-flex;justify-content:center;align-items:center;width:100%;min-height:48px;padding:12px 20px;border:0;border-radius:9px;background:#172554;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.ovb-submit:hover{background:#1d4ed8}
.ovb-notice{max-width:680px;margin:18px auto;padding:14px 16px;border-radius:8px;background:#f1f5f9;color:#172033}
.ovb-success{background:#ecfdf5;color:#065f46}.ovb-error{background:#fef2f2;color:#991b1b}

.ovb-form .ovb-submit{background:#111827}.ovb-form .ovb-submit:hover{background:#374151}

/* Force customer-entered text to remain readable regardless of the active theme. */
.ovb-form input,
.ovb-form select,
.ovb-form textarea,
.ovb-form input:focus,
.ovb-form select:focus,
.ovb-form textarea:focus,
.ovb-form input::placeholder,
.ovb-form textarea::placeholder {
    color: #000 !important;
}
.ovb-form input,
.ovb-form select,
.ovb-form textarea {
    background-color: #fff !important;
    -webkit-text-fill-color: #000 !important;
}
.ovb-form select:disabled { color: #000 !important; -webkit-text-fill-color: #000 !important; opacity: .75; }

.ovb-form .ovb-policy label { display:flex; align-items:flex-start; gap:10px; font-weight:500; }
.ovb-form .ovb-policy input[type="checkbox"],
.ovb-form .ovb-instruments input[type="checkbox"] { display:inline-block; width:auto; min-height:0; margin:4px 0 0; padding:0; -webkit-text-fill-color:initial; }
.ovb-form .ovb-policy a { color:#111827; text-decoration:underline; }
.ovb-form .ovb-instruments { border:1px solid #cbd5e1; border-radius:8px; padding:12px; }
.ovb-form .ovb-instruments legend { font-weight:700; padding:0 5px; }
.ovb-form .ovb-instruments label { display:inline; font-weight:500; }
.ovb-form #ovb-other-wrap[hidden] { display:none !important; }

/* Paynow button shown after a booking request is submitted. */
.ovb-paynow-button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 24px;border-radius:9px;background:#16a34a;color:#fff!important;text-decoration:none!important;font-weight:700;line-height:1.2;box-sizing:border-box}
.ovb-paynow-button:hover,.ovb-paynow-button:focus{background:#15803d;color:#fff!important}


/* Payment-forward form action: the form is saved first so a Booking ID exists. */
.ovb-form .ovb-paynow-submit {
    background: #16a34a;
    color: #fff;
}
.ovb-form .ovb-paynow-submit:hover,
.ovb-form .ovb-paynow-submit:focus {
    background: #15803d;
}
