/* Events calendar hero.
 *
 * The shared apglebk/events-search block is full-width on the events page,
 * where it sits in a left-aligned cover. In the calendar pattern's centred hero
 * it keeps the width it has always had there. */
.ap-events-calendar .ap-events-search {
    max-width: 860px;
    margin: 0 auto;
}

.ap-events-calendar .ap-events-count {
    text-align: center;
}

/* Single event: registration form. */
.ap-event-reg__field { margin-bottom: 1.25rem; }
.ap-event-reg__field label { display: block; font-size: 0.9rem; font-weight: 700; color: #1F2421; margin-bottom: 0.4rem; }
.ap-event-reg__field input {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1.5px solid #E5E7EB;
    border-radius: 12px;
    font-size: 1rem;
    outline: none;
    box-sizing: border-box;
}
/* The honeypot must be reachable by nothing a person uses, and invisible
   without display:none, which some bots detect. */
.ap-event-reg__hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.ap-event-reg__submit {
    width: 100%;
    background: #23582D;
    color: #FFFFFF;
    border: none;
    border-radius: 999px;
    padding: 0.9rem;
    font-size: 1.05rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(35, 88, 45, 0.25);
}
.ap-event-reg__submit[disabled] { opacity: 0.6; cursor: default; }
.ap-event-reg__msg { margin: 1rem 0 0; font-size: 0.95rem; line-height: 1.5; }
.ap-event-reg__msg.is-error { color: #B32D2E; }
.ap-event-reg__msg.is-success { color: #23582D; }
