/* Public contact forms - contact.asp (cards), contact-form.asp (Contact Us) and hire-musicians.asp (musician request) */

/* ---- buttons ----
   #1f78a6 keeps white text readable (4.9:1 contrast); the site's #3099c6 is too light for white text.
   Plain class names, not the theme's .btn, which forces uppercase 12px Arial and black text. */
.ct_btn{display:inline-block;margin:0;background:#1f78a6;border:1px solid #1f78a6;color:#fff !important;font-family:inherit;font-size:16px;font-weight:600;line-height:20px;letter-spacing:.2px;padding:10px 22px;border-radius:6px;text-decoration:none !important;text-transform:none;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,0.18);transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease;-webkit-appearance:none;appearance:none;width:auto;}
.ct_btn:hover{background:#18628a;border-color:#18628a;color:#fff !important;box-shadow:0 4px 10px rgba(31,120,166,0.35);transform:translateY(-1px);}
.ct_btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,0.2);}
.ct_btn:focus{outline:none;}
.ct_btn:focus-visible{outline:3px solid #8cc8e6;outline-offset:2px;}
.ct_btn[disabled]{opacity:.65;cursor:default;transform:none;box-shadow:none;}
.ct_btn_alt{background:#fff;border-color:#c4c4c4;color:#444 !important;box-shadow:none;}
.ct_btn_alt:hover{background:#f2f2f2;border-color:#999;color:#222 !important;box-shadow:none;}

/* ---- contact.asp cards ---- */
.ct_card{border:1px solid #ddd;border-top:4px solid #3099c6;border-radius:4px;background:#fafafa;padding:16px 20px 18px 20px;margin-bottom:20px;color:#333;line-height:22px;}
.ct_card h4{margin:0 0 4px 0;font-size:20px;line-height:24px;color:#222;font-weight:600;text-decoration:none;}
.ct_sub{color:#666;margin:0 0 10px 0;}
.ct_note{font-size:15px;color:#333;margin:0 0 10px 0;}
.ct_note + .ct_btn{margin-top:6px;}
.ct_link{color:#2783ab !important;text-decoration:underline !important;margin-left:14px;white-space:nowrap;}
.ct_btns{display:flex;flex-wrap:wrap;gap:10px;}
.ct_link_below{display:inline-block;margin:12px 0 0 0;}
.ct_call{font-size:17px;margin:4px 0 0 2px;color:#333;}
.ct_call a{color:#2783ab !important;text-decoration:underline !important;font-weight:600;white-space:nowrap;}

/* ---- form fields (popup and page) ---- */
.ct_form{color:#222;line-height:20px;}
.ct_form label{display:block;font-weight:bold;margin:12px 0 4px 0;color:#222;}
.ct_form label span.req{color:#c00;}
.ct_form input[type=text],.ct_form input[type=tel],.ct_form input[type=email],.ct_form input[type=date],.ct_form input[type=time],.ct_form textarea,.ct_form select{display:block;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:8px;border:1px solid #bbb;border-radius:4px;font-size:16px;font-family:inherit;line-height:20px;background:#fff;color:#222;}
.ct_form select{height:40px;}
.ct_form input:focus,.ct_form textarea:focus,.ct_form select:focus{border-color:#1f78a6;outline:none;box-shadow:0 0 0 3px rgba(31,120,166,0.18);}
.ct_form textarea{height:80px;min-height:0;resize:vertical;}	/* base.css forces min-height:200px on every textarea */
.ct_form textarea.ct_tall{height:160px;}
/* side-by-side pairs: wrap each pair in .ct_row */
.ct_row{display:flex;gap:3%;}
.ct_half{flex:1 1 0;min-width:0;}
.ct_hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.ct_captcha{margin-top:15px;}
.ct_captcha:empty{display:none;}
.ct_msg{display:none;margin-top:12px;padding:8px 10px;border-radius:4px;}
.ct_msg.ct_err{display:block;background:#fde8e8;color:#a00;}
.ct_buttons{margin-top:20px;text-align:right;}
.ct_buttons .ct_btn + .ct_btn{margin-left:8px;}
.ct_done{display:none;text-align:center;padding:20px 0 10px 0;font-size:16px;line-height:24px;}


/* ---- contact-form.asp page ---- */
.cf_page{max-width:620px;}
.cf_intro{margin:0 0 6px 0;color:#444;}
.cf_back{display:inline-block;margin-bottom:10px;color:#2783ab !important;text-decoration:underline !important;}

@media (max-width:480px){
	.ct_link{display:inline-block;margin:10px 0 0 0;}
	.ct_row{display:block;}
	.ct_buttons{text-align:left;}
}
