/* ==========================================================================
   WC Support Chat – Kundenbereich (LifterLMS Student Dashboard)
   Farbschema: Rot / Weiß / Schwarz
   ========================================================================== */

:root {
	--wcsc-red: #e2231a;
	--wcsc-red-dark: #b81a13;
	--wcsc-black: #14120f;
	--wcsc-white: #ffffff;
	--wcsc-grey: #f4f4f4;
	--wcsc-grey-border: #dddddd;
	--wcsc-grey-text: #666666;
}

.wcsc-wrap {
	max-width: 760px;
}

.wcsc-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 3px solid var(--wcsc-black);
}

.wcsc-header h2 {
	margin: 0;
	color: var(--wcsc-black);
}

.wcsc-back {
	display: block;
	margin-bottom: 8px;
	text-decoration: none;
	font-size: 0.9em;
	font-weight: 600;
	color: var(--wcsc-black);
}

.wcsc-back:hover {
	color: var(--wcsc-red);
}

.wcsc-chat-meta {
	margin: 4px 0 0;
	color: var(--wcsc-grey-text);
	font-size: 0.9em;
}

/* Buttons – eigenes Branding, unabhängig vom Theme */

.wcsc-btn {
	display: inline-block;
	font-weight: 700;
	font-size: 0.95em;
	line-height: 1;
	padding: 11px 20px;
	border-radius: 4px;
	border: 2px solid transparent;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.wcsc-btn--primary {
	background: var(--wcsc-red);
	border-color: var(--wcsc-red);
	color: var(--wcsc-white);
}

.wcsc-btn--primary:hover,
.wcsc-btn--primary:focus {
	background: var(--wcsc-black);
	border-color: var(--wcsc-black);
	color: var(--wcsc-white);
}

.wcsc-btn--secondary {
	background: var(--wcsc-white);
	border-color: var(--wcsc-black);
	color: var(--wcsc-black);
}

.wcsc-btn--secondary:hover,
.wcsc-btn--secondary:focus {
	background: var(--wcsc-black);
	border-color: var(--wcsc-black);
	color: var(--wcsc-white);
}

.wcsc-btn--small {
	padding: 6px 14px;
	font-size: 0.85em;
}

.wcsc-btn:disabled {
	opacity: 0.6;
	cursor: default;
}

.wcsc-new-ticket-form {
	background: var(--wcsc-grey);
	border: 2px solid var(--wcsc-black);
	border-radius: 6px;
	padding: 16px 20px;
	margin-bottom: 24px;
}

.wcsc-field {
	margin-bottom: 12px;
}

.wcsc-field label {
	display: block;
	font-weight: 700;
	margin-bottom: 4px;
	color: var(--wcsc-black);
}

.wcsc-field input[type="text"],
.wcsc-field select,
.wcsc-field textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border: 2px solid var(--wcsc-grey-border);
	border-radius: 4px;
	padding: 8px 10px;
}

.wcsc-field input[type="text"]:focus,
.wcsc-field select:focus,
.wcsc-field textarea:focus {
	border-color: var(--wcsc-red);
	outline: none;
}

.wcsc-form-error {
	color: var(--wcsc-red);
	font-weight: 600;
	font-size: 0.9em;
}

.wcsc-empty {
	color: var(--wcsc-grey-text);
}

/* Ticket-Tabelle */

.wcsc-ticket-table td,
.wcsc-ticket-table th {
	vertical-align: middle;
}

.wcsc-ticket-table thead td,
.wcsc-ticket-table thead th {
	font-weight: 700;
	color: var(--wcsc-white);
	background: var(--wcsc-black);
}

.wcsc-status {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 999px;
	font-size: 0.8em;
	font-weight: 700;
	background: var(--wcsc-grey);
	color: var(--wcsc-black);
	border: 1px solid var(--wcsc-grey-border);
}

.wcsc-status--open {
	background: var(--wcsc-red);
	color: var(--wcsc-white);
	border-color: var(--wcsc-red);
}

.wcsc-status--answered {
	background: var(--wcsc-black);
	color: var(--wcsc-white);
	border-color: var(--wcsc-black);
}

.wcsc-status--closed {
	background: var(--wcsc-white);
	color: var(--wcsc-grey-text);
	border-color: var(--wcsc-grey-border);
}

/* Navigation: Tab hervorheben + Zahl-Badge, solange ungelesene Antworten vorliegen. */

.llms-sd-item.wcsc-nav-has-unread a {
	color: var(--wcsc-red);
	font-weight: 700;
}

.wcsc-nav-badge {
	display: inline-block;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	margin-left: 6px;
	border-radius: 999px;
	background: var(--wcsc-red);
	color: var(--wcsc-white);
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
	vertical-align: middle;
}

/* Dashboard-Hinweisbox */

.wcsc-dashboard-notice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: var(--wcsc-white);
	border: 2px solid var(--wcsc-black);
	border-left: 6px solid var(--wcsc-red);
	border-radius: 6px;
	padding: 14px 18px;
	margin-bottom: 24px;
}

.wcsc-dashboard-notice__icon {
	font-size: 20px;
	line-height: 1;
}

.wcsc-dashboard-notice__title {
	margin: 0 0 8px;
	font-weight: 700;
	color: var(--wcsc-black);
}

.wcsc-dashboard-notice__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.wcsc-dashboard-notice__list a {
	color: var(--wcsc-black);
	font-weight: 600;
	text-decoration: none;
}

.wcsc-dashboard-notice__list a:hover {
	color: var(--wcsc-red);
	text-decoration: underline;
}

.wcsc-dashboard-notice__list li {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 3px 0;
}

.wcsc-dashboard-notice__count {
	display: inline-block;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--wcsc-red);
	color: var(--wcsc-white);
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}

@keyframes wcsc-pulse {
	0%, 100% { transform: scale( 1 ); }
	50% { transform: scale( 1.15 ); }
}

.wcsc-nav-badge,
.wcsc-dashboard-notice__icon {
	animation: wcsc-pulse 1.8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wcsc-nav-badge,
	.wcsc-dashboard-notice__icon {
		animation: none;
	}
}

/* Chat */

.wcsc-chat {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: 480px;
	overflow-y: auto;
	padding: 16px;
	background: var(--wcsc-grey);
	border: 2px solid var(--wcsc-black);
	border-radius: 6px;
	margin-bottom: 12px;
}

.wcsc-msg {
	display: flex;
	max-width: 80%;
}

.wcsc-msg--customer {
	align-self: flex-end;
	justify-content: flex-end;
}

.wcsc-msg--admin {
	align-self: flex-start;
}

.wcsc-msg__bubble {
	padding: 8px 12px;
	border-radius: 12px;
	background: var(--wcsc-white);
	border: 2px solid var(--wcsc-black);
}

.wcsc-msg--customer .wcsc-msg__bubble {
	background: var(--wcsc-black);
	color: var(--wcsc-white);
	border-color: var(--wcsc-black);
}

.wcsc-msg--admin .wcsc-msg__bubble {
	border-left: 4px solid var(--wcsc-red);
}

.wcsc-msg__text {
	white-space: pre-wrap;
	word-break: break-word;
}

.wcsc-msg__meta {
	margin-top: 4px;
	font-size: 0.75em;
	opacity: 0.7;
}

.wcsc-reply-form {
	display: flex;
	gap: 10px;
	align-items: flex-end;
}

.wcsc-reply-form textarea {
	flex: 1;
	resize: vertical;
	border: 2px solid var(--wcsc-grey-border);
	border-radius: 4px;
	padding: 8px 10px;
	box-sizing: border-box;
}

.wcsc-reply-form textarea:focus {
	border-color: var(--wcsc-red);
	outline: none;
}

#wcsc-status-badge {
	display: inline-block;
}

@media (max-width: 600px) {
	.wcsc-msg {
		max-width: 95%;
	}
	.wcsc-reply-form {
		flex-direction: column;
		align-items: stretch;
	}
}
