
/**
 * Public-Styles für CCA Verein Plugin
 *
 * @package CCA_Verein
 */

/* Events List */
.cca-events-list {
	max-width: 100%;
	margin: 20px 0;
}

.cca-event-item {
	display: flex;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 5px;
	margin-bottom: 20px;
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	transition: box-shadow 0.3s ease;
}

.cca-event-item:hover {
	box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.cca-event-date {
	background: #2c5f2d;
	color: #fff;
	padding: 20px;
	text-align: center;
	min-width: 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.cca-event-day {
	font-size: 32px;
	font-weight: bold;
	line-height: 1;
}

.cca-event-month {
	font-size: 16px;
	text-transform: uppercase;
	margin-top: 5px;
}

.cca-event-content {
	padding: 20px;
	flex: 1;
}

.cca-event-title {
	margin: 0 0 10px 0;
	font-size: 24px;
	color: #333;
}

.cca-event-description {
	color: #666;
	margin-bottom: 15px;
}

.cca-event-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	font-size: 14px;
	color: #888;
}

.cca-event-meta span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.cca-event-meta .dashicons {
	width: 18px;
	height: 18px;
	font-size: 18px;
}

.cca-no-events {
	text-align: center;
	padding: 40px;
	color: #999;
	font-style: italic;
}

/* Upcoming Events */
.cca-upcoming-events {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 5px;
	padding: 20px;
	margin: 20px 0;
}

.cca-upcoming-events-title {
	margin: 0 0 15px 0;
	padding-bottom: 10px;
	border-bottom: 2px solid #2c5f2d;
	color: #2c5f2d;
}

.cca-upcoming-events-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cca-upcoming-event-item {
	display: flex;
	padding: 15px 0;
	border-bottom: 1px solid #eee;
}

.cca-upcoming-event-item:last-child {
	border-bottom: none;
}

.cca-upcoming-event-date {
	font-weight: bold;
	color: #2c5f2d;
	min-width: 100px;
}

.cca-upcoming-event-details {
	flex: 1;
}

.cca-no-upcoming-events {
	text-align: center;
	padding: 20px;
	color: #999;
	font-style: italic;
}

/* Notifications */
.cca-notifications {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 5px;
	padding: 20px;
	margin: 20px 0;
}

.cca-notifications-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid #2c5f2d;
}

.cca-notifications-header h3 {
	margin: 0;
	color: #2c5f2d;
}

.cca-mark-all-read {
	background: #2c5f2d;
	color: #fff;
	border: none;
	padding: 8px 15px;
	border-radius: 3px;
	cursor: pointer;
	font-size: 14px;
}

.cca-mark-all-read:hover {
	background: #1e4520;
}

.cca-notifications-list {
	max-width: 100%;
}

.cca-notification-item {
	display: flex;
	align-items: flex-start;
	padding: 15px;
	margin-bottom: 10px;
	border-radius: 5px;
	border: 1px solid #ddd;
	background: #f9f9f9;
}

.cca-notification-unread {
	background: #f0f6fc;
	border-color: #c8d7e1;
}

.cca-notification-icon {
	font-size: 24px;
	margin-right: 15px;
}

.cca-notification-icon .dashicons {
	width: 24px;
	height: 24px;
	font-size: 24px;
}

.cca-notification-info .cca-notification-icon { color: #0073aa; }
.cca-notification-success .cca-notification-icon { color: #46b450; }
.cca-notification-warning .cca-notification-icon { color: #ffb900; }
.cca-notification-error .cca-notification-icon { color: #dc3232; }

.cca-notification-content {
	flex: 1;
}

.cca-notification-content h4 {
	margin: 0 0 5px 0;
	font-size: 16px;
}

.cca-notification-content p {
	margin: 0 0 5px 0;
	color: #666;
}

.cca-notification-time {
	font-size: 12px;
	color: #999;
}

.cca-mark-read {
	background: #0073aa;
	color: #fff;
	border: none;
	padding: 6px 12px;
	border-radius: 3px;
	cursor: pointer;
	font-size: 12px;
	margin-left: 10px;
}

.cca-mark-read:hover {
	background: #005a87;
}

.cca-no-notifications {
	text-align: center;
	padding: 40px;
	color: #999;
	font-style: italic;
}

/* Responsive */
@media screen and (max-width: 768px) {
	.cca-event-item {
		flex-direction: column;
	}

	.cca-event-date {
		min-width: auto;
		flex-direction: row;
		gap: 10px;
	}

	.cca-event-meta {
		flex-direction: column;
		gap: 5px;
	}

	.cca-upcoming-event-item {
		flex-direction: column;
		gap: 5px;
	}

	.cca-upcoming-event-date {
		min-width: auto;
	}

	.cca-notifications-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.cca-notification-item {
		flex-direction: column;
	}

	.cca-mark-read {
		margin-left: 0;
		margin-top: 10px;
	}
}
