/**
 * Portal Notifications CSS
 *
 * @package   Client Portal
 * @copyright Copyright (c) 2025, Client Portal, https://client-portal.io
 * @license   GPL-3.0+
 * @since     5.6.0
 */

/* Portal toggle wrapper - positioned at top of each section */
.leco-cp-portal-toggle-wrapper {
	background-color: #f0f8ff;
	border: 1px solid #c3deff;
	border-radius: 4px;
	padding: 15px;
	margin-bottom: 20px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.leco-cp-portal-toggle-wrapper:hover {
	background-color: #e6f3ff;
}

.leco-cp-portal-toggle-checkbox {
	flex: 1;
}

.leco-cp-portal-toggle-checkbox .cmb-row {
	margin-bottom: 0;
	padding: 0;
}

.leco-cp-portal-toggle-checkbox .cmb-th {
	font-weight: bold;
	padding: 0;
	width: auto;
}

.leco-cp-portal-toggle-checkbox .cmb-th label {
	font-weight: bold;
	color: #0073aa;
	font-size: 14px;
	margin-bottom: 0;
	display: inline-block;
}

.leco-cp-portal-toggle-checkbox .cmb-td {
	padding: 0;
	width: auto;
}

.leco-cp-portal-toggle-checkbox input[type="checkbox"] {
	margin-right: 8px;
	transform: scale(1.2);
	vertical-align: middle;
}

.leco-cp-portal-status {
	flex-shrink: 0;
	margin-left: 15px;
}

/* Settings group visibility - hide by default in portal mode */
.leco-cp-portal-mode .cmb-repeat-group-wrap,
.leco-cp-portal-mode .cmb-group-wrap {
	display: none;
}

.leco-cp-portal-mode .cmb-repeat-group-wrap.show,
.leco-cp-portal-mode .cmb-group-wrap.show {
	display: block;
	animation: fadeIn 0.3s ease-in-out;
}

/* Specific hiding for portal mode */
.leco-cp-portal-settings-group {
	display: none;
}

.leco-cp-portal-settings-group.show {
	display: block;
}

/* Digest and reminder groups */
.leco-cp-portal-digest-group,
.leco-cp-portal-reminder-group {
	display: none;
}

.leco-cp-portal-digest-group.show,
.leco-cp-portal-reminder-group.show {
	display: block;
}

/* Fade in animation for showing settings */
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Visual separator between sections */
.leco-cp-portal-toggle-wrapper + .cmb-group-wrap,
.leco-cp-portal-toggle-wrapper + .cmb-repeat-group-wrap {
	border-top: 2px solid #e1e1e1;
	margin-top: 20px;
	padding-top: 15px;
}

/* Status indicator for settings comparison */
.leco-cp-settings-status {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 12px;
	font-size: 11px;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.leco-cp-settings-status.identical {
	background-color: #d4edda;
	color: #155724;
}

.leco-cp-settings-status.different {
	background-color: #fff3cd;
	color: #856404;
}

.leco-cp-settings-status.global {
	background-color: #d1ecf1;
	color: #0c5460;
}

/* Improved checkbox styling */
.leco-cp-portal-toggle-checkbox input[type="checkbox"]:checked + label {
	color: #0073aa;
}

.leco-cp-portal-toggle-checkbox input[type="checkbox"]:focus {
	box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.3);
}

/* Portal mode specific styling */
.leco-cp-portal-mode .cmb-group-wrap,
.leco-cp-portal-mode .cmb-repeat-group-wrap {
	transition: all 0.3s ease;
}

/* Help text styling */
.leco-cp-portal-help {
	font-style: italic;
	color: #666;
	margin-top: 5px;
	font-size: 12px;
}

/* Body class for portal mode */
body.leco-cp-portal-mode .cmb2-wrap .cmb-repeat-group-wrap,
body.leco-cp-portal-mode
	.cmb2-wrap
	.cmb-group-wrap:not(.leco-cp-portal-toggle-wrapper) {
	display: none;
}

body.leco-cp-portal-mode .cmb2-wrap .cmb-repeat-group-wrap.show,
body.leco-cp-portal-mode .cmb2-wrap .cmb-group-wrap.show {
	display: block;
}

/* Responsive design */
@media (max-width: 768px) {
	.leco-cp-portal-toggle-wrapper {
		padding: 10px;
		flex-direction: column;
		align-items: flex-start;
	}

	.leco-cp-portal-status {
		margin-left: 0;
		margin-top: 10px;
	}

	.leco-cp-portal-settings-group,
	.leco-cp-portal-digest-group,
	.leco-cp-portal-reminder-group {
		margin-left: 5px;
		padding-left: 10px;
	}
}
