/* Shared frontend form controls: Contact Form 7, Elementor and HTML forms. */
:is(#main,.footer) form{--rs-field-height:52px;--rs-field-radius:7px;--rs-field-border:#bdccd5;--rs-field-ink:#183447;--rs-field-placeholder:#687d8c;min-width:0}
:is(#main,.footer) form :is(input:not([type]),input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=password],input[type=search],input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week],select,textarea){box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;margin:0;border:1px solid var(--rs-field-border);border-radius:var(--rs-field-radius);background-color:#fff;color:var(--rs-field-ink);font-family:var(--body),sans-serif;font-size:16px;font-weight:400;line-height:1.5;letter-spacing:normal;text-align:start;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}
:is(#main,.footer) form :is(input:not([type]),input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=password],input[type=search],input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week],select){height:var(--rs-field-height);min-height:var(--rs-field-height);padding:12px 15px}
:is(#main,.footer) form textarea{height:160px;min-height:140px;padding:13px 15px;resize:vertical}
:is(#main,.footer) form :is(input,textarea)::placeholder{color:var(--rs-field-placeholder);opacity:1}
:is(#main,.footer) form select:not([multiple]){appearance:none;-webkit-appearance:none;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23183447' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:18px 18px;cursor:pointer}
:is(#main,.footer) form select[multiple]{height:auto;min-height:150px;background-image:none;padding:10px}
:is(#main,.footer) form select option{background:#fff;color:var(--rs-field-ink);padding:5px}
:is(#main,.footer) form :is(input,select,textarea):focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-color:var(--blue);box-shadow:0 0 0 3px rgba(7,86,151,.12)}
:is(#main,.footer) form :is(input,select,textarea):disabled{opacity:.65;cursor:not-allowed;background-color:#edf2f4}
:is(#main,.footer) form :is(input,select,textarea)[aria-invalid=true]{border-color:#b12d48}
:is(#main,.footer) form :is(input[type=checkbox],input[type=radio]){display:inline-block;appearance:auto;width:18px;height:18px;min-height:0;padding:0;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--blue);flex:0 0 auto;box-shadow:none;cursor:pointer}
:is(#main,.footer) form input[type=file]{display:block;width:100%;max-width:100%;min-width:0;font:16px/1.5 var(--body),sans-serif;border:1px solid var(--rs-field-border);border-radius:var(--rs-field-radius);padding:8px;background:#fff;color:var(--rs-field-ink)}
:is(#main,.footer) form input[type=file]::file-selector-button{border:0;border-radius:4px;padding:7px 12px;margin-right:12px;background:#e8eff4;color:var(--rs-field-ink);font:inherit;cursor:pointer}
:is(#main,.footer) form :is(input[type=submit],input[type=button],input[type=reset],button[type=submit],button:not([type])){appearance:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:auto;max-width:100%;min-height:var(--rs-field-height);height:auto;margin:0;padding:12px 25px;border:1px solid transparent;border-radius:var(--rs-field-radius);background:var(--wine);color:#fff;font:700 16px/1.5 var(--body),sans-serif;text-align:center;text-decoration:none;white-space:normal;overflow-wrap:anywhere;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}
:is(#main,.footer) form :is(input[type=submit],input[type=button],input[type=reset],button[type=submit],button:not([type])):hover{background:var(--blue);color:#fff}
:is(#main,.footer) form :is(input[type=submit],button):focus-visible{outline:2px solid var(--blue);outline-offset:3px}
:is(#main,.footer) form label{font-family:var(--body),sans-serif;font-size:16px;line-height:1.5}
:is(#main,.footer) .wpcf7 form>p{margin:0 0 18px}
:is(#main,.footer) .wpcf7 label{display:block;text-align:start}
:is(#main,.footer) .wpcf7-form-control-wrap{display:block;min-width:0;margin-top:6px}
:is(#main,.footer) .wpcf7 :is(.wpcf7-checkbox,.wpcf7-radio,.wpcf7-acceptance){display:block}
:is(#main,.footer) .wpcf7 .wpcf7-list-item{display:inline-block;margin:0 16px 8px 0}
:is(#main,.footer) .wpcf7 .wpcf7-list-item label{display:inline-flex;align-items:baseline;gap:0;font-weight:400}
:is(#main,.footer) .wpcf7-not-valid-tip{display:block;font-size:14px;line-height:1.5;margin-top:6px;color:#b12d48}
:is(#main,.footer) .rs-review-form .wpcf7-not-valid-tip{color:#ffd6dd}
:is(#main,.footer) .wpcf7 form .wpcf7-response-output{margin:18px 0 0;padding:12px 15px;border-radius:var(--rs-field-radius);font-size:15px;line-height:1.5;overflow-wrap:anywhere}
:is(#main,.footer) .wpcf7-spinner{vertical-align:middle;margin:0 0 0 12px}
@media(max-width:600px){:is(#main,.footer) form{--rs-field-height:50px}:is(#main,.footer) form textarea{height:150px}:is(#main,.footer) .wpcf7 form>p{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){:is(#main,.footer) form :is(input,select,textarea,button){transition:none}}
@media(forced-colors:active){:is(#main,.footer) form select:not([multiple]){appearance:auto;background-image:none;padding-right:15px}}
