/* Public-facing styles for the Cursillo Movement plugin. */

/* Weekend dates + Bible verse */
.weekend-dates { margin: 20px 0; text-align: center; }
.weekend-dates .weekend-date { font-size: 18px; margin: 0; color: #0073aa; }
.weekend-dates .weekend-verse { font-size: 16px; margin: 15px 0 0 0; color: #555; font-style: italic; }

/* Weekend candidate list */
.weekend-candidates { margin: 30px 0; padding: 20px; background: #f9f9f9; border-radius: 5px; max-width: none; width: 100%; }
.weekend-candidates h3 { margin-top: 0; color: #0073aa; border-bottom: 2px solid #0073aa; padding-bottom: 10px; }
.candidates-table { width: 100%; min-width: 800px; border-collapse: collapse; margin-top: 10px; }
.candidates-table th, .candidates-table td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
.candidates-table th { background-color: #0073aa; color: white; font-weight: bold; }
.candidates-table tbody tr:hover { background-color: #f0f8ff; }
.candidates-table .latest-candidate { font-weight: bold; }
.weekend-candidates .candidate-count { font-size: 16px; margin: 10px 0 0 0; }

/* Weekend team members */
.weekend-team { margin: 30px 0; padding: 20px; background: #f9f9f9; border-radius: 5px; max-width: none; width: 100%; }
.weekend-team h3 { margin-top: 0; color: #0073aa; border-bottom: 2px solid #0073aa; padding-bottom: 10px; }
.team-members-table { width: 100%; min-width: 800px; border-collapse: collapse; margin-top: 10px; }
.team-members-table th, .team-members-table td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; }
.team-members-table th { background-color: #0073aa; color: white; font-weight: bold; }
.team-members-table tbody tr:hover { background-color: #f0f8ff; }

/* Candidate application form */
.cursillo-form { max-width: 800px; margin: 0 auto; font-family: Arial, sans-serif; }
.cursillo-form h2 { color: #333; border-bottom: 2px solid #0073aa; padding-bottom: 10px; }
.cursillo-form .form-section { margin-bottom: 30px; padding: 20px; background: #f9f9f9; border-radius: 5px; }
.cursillo-form .form-section h3 { color: #0073aa; margin-top: 0; }
.cursillo-form .form-row { margin-bottom: 15px; }
.cursillo-form .form-row.half { display: inline-block; width: 48%; margin-right: 2%; vertical-align: top; }
.cursillo-form .form-row.half:nth-child(2n) { margin-right: 0; }
.cursillo-form .form-row.third { display: inline-block; width: 30%; margin-right: 2%; vertical-align: top; box-sizing: border-box; }
.cursillo-form .form-row.third:last-child { margin-right: 0; }
.cursillo-form label { display: block; font-weight: bold; margin-bottom: 5px; color: #333; }
.cursillo-form input[type="text"], .cursillo-form input[type="email"], .cursillo-form input[type="tel"], .cursillo-form input[type="number"], .cursillo-form textarea, .cursillo-form select {
width: 100%; padding: 8px; border: 1px solid #ddd; border-radius: 3px; font-size: 14px; box-sizing: border-box; }
.cursillo-form input[type="number"]::-webkit-outer-spin-button,
.cursillo-form input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none; margin: 0; }
.cursillo-form input[type="number"] { -moz-appearance: textfield; }
.cursillo-form textarea { height: 80px; resize: vertical; }
.cursillo-form .radio-group { margin-bottom: 10px; }
.cursillo-form .radio-group label { display: inline; font-weight: normal; margin-left: 5px; margin-right: 15px; }
.cursillo-form input[type="radio"], .cursillo-form input[type="checkbox"] { width: auto; margin-right: 5px; }
.cursillo-form .submit-btn { background: #0073aa; color: white; padding: 12px 30px; border: none; border-radius: 5px; font-size: 16px; cursor: pointer; }
.cursillo-form .submit-btn:hover { background: #005a87; }
.cursillo-form .required { color: #d63638; }
.cursillo-form .payment-info { background: #fff3cd; border: 1px solid #ffeaa7; padding: 15px; border-radius: 5px; margin: 20px 0; }
.cursillo-form .phone-error { border-color: #d63638 !important; background-color: #ffeaea !important; }
.cursillo-form .phone-valid { border-color: #0f8b3c !important; background-color: #e8f5e8 !important; }
.cursillo-form .phone-message { font-size: 12px; margin-top: 5px; display: block; }
.cursillo-form .phone-error-msg { color: #d63638; }
.cursillo-form .phone-valid-msg { color: #0f8b3c; }
