/* Come & See — location cards, registration form and confirmation views.
   Colors come from the Kairos Volunteer theme, with fallbacks. */
.kcs-locations{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:22px;margin-top:34px}
.kcs-loc{background:#fff;border:1px solid var(--line,#e6dfd2);border-top:4px solid var(--navy,#14243f);border-radius:var(--r,14px);padding:22px;display:flex;flex-direction:column;min-width:0;scroll-margin-top:90px}
.kcs-loc.is-pending,.kcs-loc.is-closed{border-top-color:#b7bcc6}
.kcs-loc.is-waitlist{border-top-color:#8f631c}
.kcs-loc.is-picked{box-shadow:0 0 0 3px var(--gold,#c8963e);border-color:var(--gold,#c8963e)}
.kcs-loc-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:6px 10px;margin-bottom:10px}
.kcs-loc-head h3{margin:0;font-size:22px}
.kcs-badge{flex:none;font-size:12px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:999px;background:#e8f1ea;color:#1f5a32;white-space:nowrap}
.is-pending .kcs-badge,.is-closed .kcs-badge{background:#eef0f3;color:#3d4554}
.is-waitlist .kcs-badge{background:#fbf0dc;color:#6b4a12}
.kcs-loc p{margin:0 0 6px;color:var(--dim,#4f5a6e);font-size:15px}
.kcs-loc .kcs-loc-church{color:var(--ink,#1b2333);font-weight:600;font-size:16px}
.kcs-loc .kcs-loc-time{margin-top:6px;color:var(--ink,#1b2333)}
.kcs-loc-map{font-size:14.5px;font-weight:600}
.kcs-loc .kcs-left{margin-top:8px;color:#8a3b12;font-weight:600;font-size:14px}
.kcs-loc .kcs-loc-pending{font-size:14.5px}
.kcs-loc-foot{margin-top:auto;padding-top:16px}
.kcs-loc-foot .kv-btn{width:100%}

/* form */
.kcs-form{background:#fff;border:1px solid var(--line,#e6dfd2);border-radius:calc(var(--r,14px) + 4px);padding:clamp(20px,4vw,36px)}
.kcs-group{border:0;margin:0 0 26px;padding:0;min-width:0}
.kcs-group legend{font-family:var(--serif,Georgia,serif);font-size:21px;font-weight:600;color:var(--navy,#14243f);padding:0;margin-bottom:14px}
.kcs-row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.kcs-field{margin-bottom:16px}
.kcs-field label{display:block;font-weight:600;font-size:15.5px;margin-bottom:6px;color:var(--ink,#1b2333)}
.kcs-opt{font-weight:400;color:var(--dim,#4f5a6e);font-size:14px}
.kcs-hint{margin:-2px 0 6px;font-size:14px;color:var(--dim,#4f5a6e)}
.kcs-field input[type=text],.kcs-field input[type=email],.kcs-field input[type=tel],.kcs-field input[type=number],.kcs-field select,.kcs-field textarea{
  width:100%;font:16px/1.4 var(--sans,system-ui,sans-serif);color:var(--ink,#1b2333);background:#fff;border:1.5px solid #8a93a3;border-radius:10px;padding:12px 14px;min-height:48px}
.kcs-field input[type=number]{max-width:140px}
.kcs-field textarea{min-height:84px;resize:vertical}
.kcs-field input:focus,.kcs-field select:focus,.kcs-field textarea:focus{outline:3px solid var(--gold,#c8963e);outline-offset:1px;border-color:var(--navy,#14243f)}
.kcs-field input:disabled{background:#f1f2f4;color:#6b7280}
.kcs-field.has-error input,.kcs-field.has-error select,.kcs-field.has-error textarea{border-color:#b42318;border-width:2px}
.kcs-error{margin:0 0 6px;color:#b42318;font-weight:600;font-size:14.5px}
.kcs-error::before{content:"! ";}
.kcs-church .kcs-field{margin-bottom:8px}
.kcs-check{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;margin:0 0 12px;cursor:pointer;line-height:1.45}
.kcs-check input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--navy,#14243f)}
.kcs-check-sm{font-size:14.5px;margin-bottom:16px}
.kcs-check-sm input{width:18px;height:18px}
.kcs-summary{margin-top:12px;padding:14px 16px;border-radius:10px;background:var(--cream,#faf6ef);border-left:4px solid var(--gold,#c8963e);font-size:15px}
.kcs-summary p{margin:0 0 4px}
.kcs-summary p:last-child{margin:0}
.kcs-summary-note{color:#6b4a12;font-weight:600}
.kcs-privacy{font-size:14px;color:var(--dim,#4f5a6e);margin:0 0 22px;max-width:46em}
.kcs-submit-row .kcs-submit{min-width:240px;font-size:17px;padding:16px 30px}
.kcs-submit[disabled]{opacity:.7;cursor:progress}
.kcs-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.kcs-errors{border:2px solid #b42318;background:#fef3f2;border-radius:10px;padding:14px 18px;margin-bottom:24px}
.kcs-errors p{margin:0 0 6px;color:#7a1a12}
.kcs-errors ul{margin:0;padding-left:20px}
.kcs-errors a{color:#b42318;font-weight:600}
.kcs-errors:focus{outline:3px solid var(--gold,#c8963e);outline-offset:2px}
.kcs-notice,.kcs-closed-note{background:var(--cream,#faf6ef);border:1px solid var(--line,#e6dfd2);border-radius:10px;padding:14px 18px;margin:0 0 22px}
.kcs-closed-note p{margin:0}

/* confirmation / update / cancel */
.kcs-view{max-width:760px;margin:0 auto}
.kcs-view h1{font-size:clamp(32px,4.4vw,48px)}
.kcs-view-h2{font-size:26px;margin:44px 0 16px}
.kcs-details{margin:26px 0;padding:6px 22px;background:#fff;border:1px solid var(--line,#e6dfd2);border-radius:var(--r,14px)}
.kcs-details div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line,#e6dfd2)}
.kcs-details div:last-child{border-bottom:0}
.kcs-details dt{font-weight:700;color:var(--dim,#4f5a6e);font-size:14px;text-transform:uppercase;letter-spacing:.06em;padding-top:2px}
.kcs-details dd{margin:0}
.kcs-view-note{color:var(--dim,#4f5a6e);margin-top:22px}
.kcs-cancel{margin-top:30px;padding-top:6px;border-top:1px solid var(--line,#e6dfd2)}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

@media (max-width:640px){
  .kcs-row{grid-template-columns:1fr}
  .kcs-details div{grid-template-columns:1fr;gap:2px}
  .kcs-submit-row .kcs-submit{width:100%}
}
