/* Archive Card Layout */
.archive-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.archive-card { border: 1px solid #ddd; border-radius: 5px; overflow: hidden; display: flex; flex-direction: column; }
.archive-card .card-image-link img { width: 100%; height: 180px; object-fit: cover; display: block; }
.archive-card .card-content { padding: 15px; flex-grow: 1; }
.archive-card .card-title { margin: 0 0 10px; font-size: 1.2rem; }
.archive-card .card-title a { text-decoration: none; color: #333; }
.archive-card .card-event-type { display: inline-block; background-color: #f0f0f0; color: #555; padding: 3px 8px; border-radius: 3px; font-size: 0.8rem; font-weight: bold; }

/* Single Item Page */
.entry-featured-image { margin-bottom: 2em; }
.event-details { margin-top: 30px; padding-top: 20px; border-top: 1px solid #eee; }
.event-details h3 { margin-top: 0; }
.event-details ul { list-style: none; padding: 0; }
.event-details ul li { margin-bottom: 10px; }
.register-button { display: inline-block; background-color: #0073aa; color: #fff; padding: 10px 20px; text-decoration: none; border: none; border-radius: 3px; font-size: 1rem; cursor: pointer; margin-top: 15px; }
.register-button:hover { background-color: #005a87; }
.registration-closed { background-color: #f8d7da; color: #721c24; padding: 10px; border: 1px solid #f5c6cb; border-radius: 4px; margin-top: 15px; }

/* Registration Popup */
#registration-popup-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); z-index: 1000; display: flex; justify-content: center; align-items: center; }
#registration-popup-content { background: #fff; padding: 30px; border-radius: 5px; width: 90%; max-width: 500px; position: relative; box-shadow: 0 5px 15px rgba(0,0,0,0.3); }
#close-popup-btn { position: absolute; top: 10px; right: 10px; background: none; border: none; font-size: 24px; cursor: pointer; line-height: 1; color: #555; }
#event-registration-form label { display: block; margin-bottom: 5px; font-weight: bold; }
#event-registration-form input, #event-registration-form textarea { width: 100%; padding: 8px; box-sizing: border-box; margin-bottom: 15px; border: 1px solid #ccc; border-radius: 3px; }
#registration-form-result { padding: 10px; margin-bottom: 15px; border-radius: 4px; display: none; }
#registration-form-result.success { background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
#registration-form-result.error { background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }