/* Paxhole Autox Registration - inherits theme fonts/colors where possible */
.erm { margin: 1.5em 0; }
.erm * { box-sizing: border-box; }

.erm-notice { padding: 12px 16px; margin: 0 0 16px; border-left: 4px solid; border-radius: 3px; }
.erm-success { background: #edf7ed; border-color: #2e7d32; color: #1b4d1e; }
.erm-error { background: #fdecea; border-color: #c62828; color: #7a1717; }

/* Event list */
.erm-events { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.erm-card { border: 1px solid rgba(127,127,127,.4); border-radius: 6px; padding: 20px; background: rgba(127,127,127,.08); color: inherit; display: flex; flex-direction: column; }
.erm-card h3 { margin: 0 0 8px; }
.erm-card .erm-btn { margin-top: auto; align-self: flex-start; }
.erm-meta { display: flex; flex-direction: column; gap: 2px; font-size: .95em; opacity: .85; margin: 0 0 10px; }
.erm-closed { color: #d63638; font-weight: 600; }

/* Single event */
.erm-event-meta { background: rgba(127,127,127,.12); color: inherit; border-radius: 6px; padding: 14px 18px; margin: 0 0 24px; }
.erm-event-meta p { margin: 4px 0; }
.erm-register { margin-top: 36px; padding-top: 24px; border-top: 2px solid rgba(127,127,127,.4); }

/* Forms */
.erm-form label { display: block; font-weight: 600; margin-bottom: 4px; }
.erm-form label small { font-weight: 400; opacity: .75; }
.erm-form input[type=text], .erm-form input[type=email], .erm-form input[type=password],
.erm-form input[type=number], .erm-form select { display: block; width: 100%; padding: 8px 10px; margin-top: 4px; font-size: 1em; color: #1d2327; background: #fff; border: 1px solid #8c8f94; border-radius: 4px; }
.erm-form label.erm-inline { font-weight: 400; }
.erm-form label.erm-inline input { display: inline; width: auto; margin: 0 4px 0 0; }
.erm-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
@media (max-width: 600px) { .erm-row { grid-template-columns: 1fr; } }
.erm-total { font-size: 1.1em; }

/* Buttons */
.erm-btn, .erm-form button.erm-btn { display: inline-block; padding: 10px 22px; border: 0; border-radius: 4px; background: #1d4ed8; color: #fff !important; font-size: 1em; font-weight: 600; text-decoration: none; cursor: pointer; line-height: 1.4; }
.erm-btn:hover { background: #1e40af; }
.erm-btn-secondary { background: #4b5563; }
.erm-btn-secondary:hover { background: #374151; }
.erm-btn-wide { width: 100%; max-width: 420px; text-align: center; }
.erm-link { margin-left: 12px; }
.erm-linkbtn { background: none; border: 0; padding: 0; color: #d63638; cursor: pointer; text-decoration: underline; font: inherit; }

/* Auth */
.erm-auth { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
@media (max-width: 800px) { .erm-auth { grid-template-columns: 1fr; gap: 20px; } }

/* Tables */
.erm-table-wrap { overflow-x: auto; }
.erm-table { width: 100%; border-collapse: collapse; }
.erm-table th, .erm-table td { padding: 10px 8px; border-bottom: 1px solid rgba(127,127,127,.4); text-align: left; vertical-align: top; }
.erm-summary { max-width: 520px; margin-bottom: 20px; }
.erm-summary th { width: 130px; }
.erm-cancelled td { opacity: .55; }
.erm-actions a, .erm-actions form { margin-right: 10px; white-space: nowrap; }
.erm-inline-form { display: inline; }

.erm-status { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: .85em; background: #e5e7eb; color: #1f2937; }
.erm-status-paid { background: #d1fae5; color: #065f46; }
.erm-status-unpaid { background: #fee2e2; color: #991b1b; }
.erm-status-awaiting { background: #fef3c7; color: #92400e; }

/* Checkout */
.erm-pay-block { margin: 0 0 14px; max-width: 420px; }
.erm-instructions { background: rgba(127,127,127,.12); color: inherit; border-left: 4px solid #1d4ed8; padding: 12px 16px; margin: 0 0 14px; }

/* Make sure table text follows the theme, not a white-on-white default */
.erm-table th, .erm-table td { color: inherit; background: transparent; }

/* Boxed areas: force a readable light box with dark text, whatever the theme does */
.erm-event-meta, .erm-card, .erm-instructions {
	background: #f3f4f6 !important;
	color: #1d2327 !important;
}
.erm-event-meta *, .erm-card *, .erm-instructions * { color: #1d2327 !important; }
.erm-card a.erm-btn { color: #fff !important; }
.erm-card h3 a { color: #1d4ed8 !important; }
.erm-card .erm-closed { color: #b32d2e !important; }
.erm-notice, .erm-notice * { color: inherit; }
.erm-success, .erm-success * { color: #1b4d1e !important; }
.erm-error, .erm-error * { color: #7a1717 !important; }
