/* Module surfaces only; the site's other forms and WordPress screens keep their styles. */
.vht-guest, .vht-preview, .vht-admin, .wpcf7 form[data-vht-ready="1"] {
    --vht-primary: #0092d2;
    --vht-field: #e3f0f0;
    --vht-accent: #d4c1a2;
    --vht-ink: #17383f;
    --vht-link: #006a9c;
}
.vht-guest { background: #f6f5f1; color: #28383e; }
.vht-guest main, .vht-preview main { border-top: 5px solid var(--vht-primary); }
.vht-guest h1, .vht-preview h1 { color: var(--vht-primary); }
.vht-guest h2, .vht-guest legend, .vht-admin h2 { color: var(--vht-link); }
.vht-guest a, .vht-preview a, .vht-admin a { color: var(--vht-link); }
.vht-guest a:not(.button), .vht-preview a:not(.button) { text-decoration: underline; text-underline-offset: .18em; }
.vht-guest input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.vht-guest select, .vht-guest textarea,
.vht-preview input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.vht-admin input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.vht-admin select, .vht-admin textarea,
.wpcf7 form[data-vht-ready="1"] input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.wpcf7 form[data-vht-ready="1"] select, .wpcf7 form[data-vht-ready="1"] textarea {
    background: var(--vht-field); color: var(--vht-ink); border: 1px solid #b0cdce;
    border-radius: 5px; box-shadow: none; caret-color: var(--vht-ink);
}
.vht-guest input::placeholder, .vht-guest textarea::placeholder,
.vht-admin input::placeholder, .vht-admin textarea::placeholder,
.wpcf7 form[data-vht-ready="1"] input::placeholder,
.wpcf7 form[data-vht-ready="1"] textarea::placeholder { color: #28484b; opacity: 1; }
.vht-guest option, .vht-admin option, .wpcf7 form[data-vht-ready="1"] option { background: white; color: var(--vht-ink); }
.vht-guest input[readonly], .vht-admin input[readonly] { background: #edf4f4 !important; }
.vht-guest input[type="checkbox"], .vht-guest input[type="radio"],
.vht-admin input[type="checkbox"], .vht-admin input[type="radio"],
.wpcf7 form[data-vht-ready="1"] input[type="checkbox"],
.wpcf7 form[data-vht-ready="1"] input[type="radio"] { accent-color: var(--vht-primary); width: auto; }
.vht-guest button, .vht-guest .button, .vht-preview button,
.wpcf7 form[data-vht-ready="1"] input[type="submit"],
.wpcf7 form[data-vht-ready="1"] button[type="submit"] {
    background: var(--vht-primary); color: white; border: 1px solid var(--vht-primary);
    border-radius: 5px; font-size: 20px; font-weight: 700; line-height: 1.35;
    padding: 12px 20px; text-decoration: none;
}
.vht-guest button:hover, .vht-guest .button:hover, .vht-preview button:hover,
.wpcf7 form[data-vht-ready="1"] input[type="submit"]:hover,
.wpcf7 form[data-vht-ready="1"] button[type="submit"]:hover { background: var(--vht-link); border-color: var(--vht-link); }
.vht-admin .button { border-color: var(--vht-primary); color: var(--vht-link); }
.vht-admin .button-primary { background: var(--vht-primary); border-color: var(--vht-primary); color: #10232a; font-weight: 600; }
.vht-guest :is(input,select,textarea,button,a):focus-visible,
.vht-preview :is(input,button,a):focus-visible,
.vht-admin :is(input,select,textarea,button,a):focus-visible,
.wpcf7 form[data-vht-ready="1"] :is(input,select,textarea,button,a):focus-visible {
    outline: 3px solid var(--vht-primary); outline-offset: 3px;
}
.vht-guest fieldset, .vht-guest hr, .vht-preview hr { border-color: var(--vht-accent); }
.vht-guest .notice { background: #f6f1e9; border-left: 4px solid var(--vht-accent); color: #28383e; }
.vht-guest th { border-bottom-color: var(--vht-accent); }
.vht-admin .nav-tab-active { border-top: 3px solid var(--vht-primary); color: var(--vht-link); background: white; }
.vht-admin .vht-bookings thead th { background: #f6f1e9; border-bottom: 2px solid var(--vht-accent); }
.vht-admin .vht-bookings.striped > tbody > :nth-child(odd) { background: #f5f9f9; }
.wpcf7 form[data-vht-ready="1"] .wpcf7-response-output { border-color: var(--vht-accent); background: #f6f1e9; color: #28383e; }
.vht-guest .error, .wpcf7 form[data-vht-ready="1"] .wpcf7-not-valid-tip { color: #9b2226; }
