/* contact-forms session: the nine Contact Us forms (enqueued from plugins/ucm-core/includes/contact-forms.php). */

/* Toggled parts must stay hidden even where a class sets display (labels are display:flex). */
.ucm-form [hidden]{display:none!important}

/* Sections */
.ucm-cf-sec{border-top:1px solid var(--line);margin-top:30px;padding-top:22px}
.ucm-form > .ucm-cf-sec:first-of-type,.ucm-form .md-form > .ucm-cf-sec:first-of-type,.ucm-form > p.ucm-hint + .ucm-cf-sec,.ucm-form .md-form > p.ucm-hint + .ucm-cf-sec{border-top:0;margin-top:8px;padding-top:0}
.ucm-cf-sec > h3{margin:0 0 14px!important}
.ucm-cf-opt,.ucm-form h3 small{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-2);background:var(--primary-25);border-radius:999px;padding:3px 9px;vertical-align:middle;margin-left:6px}
.ucm-cf-subhead{margin:14px 0 0;font-size:15px;color:var(--navy)}
.ucm-cf-subhead .ucm-hint{display:inline-block;margin:4px 0 0}
.ucm-cf-privacy{margin-top:18px}

/* Inputs not styled by style.css */
.ucm-form input[type=time],.ucm-form input[type=tel]{font:inherit;font-size:15px;font-weight:500;color:var(--ink);border:1px solid #EBD3D7;border-radius:10px;padding:11px 13px;background:#fff;width:100%}
.ucm-form input,.ucm-form select,.ucm-form textarea{min-height:44px;max-width:100%}
.ucm-form .ucm-form-grid > *{min-width:0}

/* Tap targets: every checkbox / radio row is at least 44px tall */
.ucm-form .ucm-check{min-height:44px;align-items:center!important}
.ucm-form .ucm-check input{margin-top:0}
.ucm-form .ucm-consent{align-items:flex-start!important}
.ucm-form .ucm-consent input{margin-top:4px}
.ucm-form .ucm-add-row{min-height:44px;padding:8px 14px}

/* Repeating rows (choirs directed, references) */
.ucm-cf-rows .ucm-cf-row.cols-3{grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,.8fr)}
.ucm-cf-rows .ucm-cf-row{padding-bottom:12px;border-bottom:1px dashed var(--line)}

/* Members by voice part */
.ucm-cf-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}

/* Contact page: links to the dedicated forms */
.ucm-cf-forms{background:var(--primary-25);border-radius:12px;padding:14px 18px;margin:0 0 22px}
.ucm-cf-forms p{margin:0 0 8px;font-weight:600;color:var(--navy)}
.ucm-cf-forms ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ucm-cf-forms li,.ucm-cf-forms li + li{margin:0}
.ucm-cf-forms a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--primary);font-weight:600;font-size:14px;text-decoration:none}
.ucm-cf-forms a:hover,.ucm-cf-forms a:focus-visible{background:var(--primary);color:#fff;border-color:var(--primary)}

/* Event and news pages: extra facts, banner, gallery, video */
.ucm-cf-h{font-size:21px;margin:28px 0 12px}
.ucm-cf-facts{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:8px 18px;margin:0 0 20px}
.ucm-cf-facts dt{font-weight:700;color:var(--navy)}
.ucm-cf-facts dd{margin:0;overflow-wrap:anywhere}
.ucm-cf-banner{margin:0 0 20px;border-radius:12px;overflow:hidden}
.ucm-cf-banner img{width:100%;height:auto;display:block}
.ucm-cf-gallery{margin:20px 0}
.ucm-cf-video{margin:20px 0}
.ucm-cf-credit{font-size:13.5px;color:var(--muted)}

@media (max-width:640px){
  .ucm-cf-rows .ucm-cf-row.cols-3{grid-template-columns:1fr}
  .ucm-cf-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ucm-cf-facts{grid-template-columns:1fr;gap:2px}
  .ucm-cf-facts dd{margin-bottom:10px}
}

/* contact-forms-split: one purpose, one page */
.ucm-cf-about{background:var(--primary-25);border-left:4px solid var(--primary);border-radius:10px;padding:12px 16px;overflow-wrap:anywhere}
.ucm-cf-about strong{color:var(--navy)}
.ucm-cf-about a{display:inline-flex;align-items:center;min-height:44px;margin-left:4px}
.ucm-cf-forms .ucm-cf-forms-lead{font-weight:400;color:var(--ink);margin-bottom:12px}
.ucm-cf-forms ul + p{margin-top:14px}
h3.ucm-cf-subhead{font-size:17px;margin:18px 0 0!important;padding-top:14px;border-top:1px solid var(--line)}
.ucm-form-grid > h3.ucm-cf-subhead:first-child{border-top:0;padding-top:0;margin-top:0!important}
.ucm-cf-subhint{margin:-6px 0 0}
.ucm-cf-submit{margin-top:22px}
.ucm-cf-submit .btn{min-height:48px}
@media (max-width:640px){.ucm-cf-submit .btn{width:100%;justify-content:center}}
