/* ── Encounter Registration — Public Styles ── */

/* Encounter list */
.er-encounter-list { display:flex; flex-direction:column; gap:24px; }

.er-encounter-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 24px 28px;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    position: relative;
}
.er-encounter-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; bottom: 0;
    width: 5px;
    border-radius: 10px 0 0 10px;
    background: #2271b1;
}
.er-type-women .er-encounter-card::before { background: #b12278; }

.er-encounter-card__header { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.er-encounter-card__title  { font-size:1.4rem; margin:0 0 8px; }
.er-encounter-card__type   { font-size:.8rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:#666; background:#f3f4f6; border-radius:12px; padding:3px 10px; white-space:nowrap; }
.er-encounter-card__dates  { font-size:1rem; color:#374151; font-weight:600; margin:4px 0; }
.er-encounter-card__church,
.er-encounter-card__cost   { font-size:.9rem; color:#6b7280; margin:4px 0; }
.er-encounter-card__desc   { margin:12px 0; color:#374151; line-height:1.6; }
.er-encounter-card__actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }

.er-no-encounters { color:#6b7280; font-style:italic; padding:20px 0; }

/* Buttons */
.er-btn {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 6px;
    font-size: .95rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all .15s ease;
    line-height: 1.2;
}
.er-btn--primary  { background:#2271b1; color:#fff; }
.er-btn--primary:hover  { background:#135e96; color:#fff; }
.er-btn--secondary { background:#fff; border-color:#2271b1; color:#2271b1; }
.er-btn--secondary:hover { background:#f0f6fc; }
.er-btn--outline  { background:transparent; border-color:#d1d5db; color:#374151; }
.er-btn--outline:hover { background:#f9fafb; }
.er-btn--large    { padding:14px 28px; font-size:1.05rem; }

/* Notices */
.er-notice {
    padding: 14px 18px;
    border-radius: 6px;
    margin: 0 0 20px;
    font-weight: 500;
    border-left: 4px solid;
}
.er-notice--success { background:#d1fae5; border-color:#059669; color:#065f46; }
.er-notice--error   { background:#fee2e2; border-color:#dc2626; color:#7f1d1d; }
.er-notice--info    { background:#dbeafe; border-color:#2563eb; color:#1e3a8a; }

/* Registration form */
.er-register-wrap { max-width: 760px; }
.er-register__title { margin-bottom: 20px; }

.er-fieldset {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 20px 24px;
    margin: 0 0 20px;
}
.er-fieldset legend {
    font-weight: 700;
    font-size: 1rem;
    padding: 0 8px;
    color: #374151;
}

.er-field { display:flex; flex-direction:column; gap:5px; margin-bottom:14px; }
.er-field:last-child { margin-bottom:0; }
.er-field label { font-size:.9rem; font-weight:600; color:#374151; }
.er-field input,
.er-field select,
.er-field textarea {
    padding: 9px 12px;
    border: 1px solid #d1d5db;
    border-radius: 5px;
    font-size: 1rem;
    width: 100%;
    box-sizing: border-box;
    transition: border-color .15s;
}
.er-field input:focus,
.er-field select:focus,
.er-field textarea:focus { outline:none; border-color:#2271b1; box-shadow:0 0 0 2px rgba(34,113,177,.15); }

.er-field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.er-field--grow { flex:1; }
.er-field--sm   { width: 80px; min-width:60px; }
.er-field--inline { flex-direction:row; gap:16px; flex-wrap:wrap; }
.er-field--inline label { display:flex; align-items:center; gap:6px; font-weight:400; }

.er-checkbox-label { display:flex; align-items:flex-start; gap:10px; font-weight:400; line-height:1.5; cursor:pointer; }
.er-checkbox-label input { margin-top:3px; flex-shrink:0; }

.er-recaptcha { margin: 16px 0; }
.er-submit { margin-top: 24px; }

/* Encounter info page */
.er-encounter-info { max-width:760px; }
.er-info__title  { font-size:2rem; margin-bottom:8px; }
.er-info__type   { font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:#6b7280; font-size:.85rem; margin-bottom:6px; }
.er-info__dates  { font-size:1.1rem; font-weight:700; color:#374151; margin-bottom:4px; }
.er-info__cost   { color:#6b7280; }
.er-info__desc   { margin:16px 0; line-height:1.7; }
.er-info__venue  { margin:8px 0; }
.er-info__launch-points { background:#f9fafb; border-radius:8px; padding:16px 20px; margin:16px 0; }
.er-info__launch-points h3 { margin-top:0; font-size:1rem; }
.er-info__launch-points ul { margin:0; padding-left:20px; }
.er-info__actions { margin-top:24px; display:flex; gap:12px; flex-wrap:wrap; }
.er-registration-closed { color:#dc2626; font-style:italic; }

/* Contact / Scholarship */
.er-scholarship-wrap,
.er-contact-wrap { max-width:600px; }
.er-form-public .er-field { margin-bottom:16px; }

/* Picker */
.er-picker__list { list-style:none; padding:0; margin:0; }
.er-picker__list li { margin-bottom:8px; }
.er-picker__list a { display:inline-block; padding:10px 18px; background:#f3f4f6; border-radius:6px; text-decoration:none; color:#374151; font-weight:600; }
.er-picker__list a:hover { background:#e5e7eb; }

@media (max-width: 600px) {
    .er-field-row { grid-template-columns:1fr; }
    .er-encounter-card { padding:16px; }
    .er-encounter-card__header { flex-direction:column; }
}
