/**
 * Synoveo Elementor Panel Styles
 */

/* Panel container */
.synoveo-elementor-panel {
	padding: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
}

/* Header */
.synoveo-panel-header {
	display: flex;
	align-items: center;
	padding: 15px 20px;
	background: linear-gradient(135deg, #4385f5 0%, #3b76dc 100%);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
}

.synoveo-panel-header svg {
	margin-right: 10px;
}

.synoveo-panel-header svg path {
	fill: #fff;
}

/* Body */
.synoveo-panel-body {
	padding: 20px;
	flex: 1;
	overflow-y: auto;
}

/* Field styles */
.synoveo-field {
	margin-bottom: 15px;
}

.synoveo-field label {
	display: block;
	margin-bottom: 5px;
	font-size: 12px;
	font-weight: 500;
	color: #6d7882;
}

.synoveo-field input[type="text"],
.synoveo-field textarea,
.synoveo-field select {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #d5dadf;
	border-radius: 4px;
	font-size: 13px;
	color: #495157;
	background: #fff;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.synoveo-field input[type="text"]:focus,
.synoveo-field textarea:focus,
.synoveo-field select:focus {
	outline: none;
	border-color: #4385f5;
	box-shadow: 0 0 0 2px rgba(67, 133, 245, 0.15);
}

.synoveo-field textarea {
	resize: vertical;
	min-height: 70px;
}

/* Character count */
.synoveo-char-count {
	display: block;
	margin-top: 4px;
	font-size: 11px;
	color: #93a0ae;
}

/* Toggle switch */
.synoveo-field-toggle {
	display: flex;
	align-items: center;
	padding: 12px 15px;
	background: #f7f9fa;
	border-radius: 6px;
	margin-bottom: 20px;
}

.synoveo-toggle {
	position: relative;
	display: inline-block;
	width: 44px;
	height: 24px;
	margin-right: 12px;
	flex-shrink: 0;
}

.synoveo-toggle input {
	opacity: 0;
	width: 0;
	height: 0;
}

.synoveo-toggle-slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #d5dadf;
	transition: 0.3s;
	border-radius: 24px;
}

.synoveo-toggle-slider:before {
	position: absolute;
	content: "";
	height: 18px;
	width: 18px;
	left: 3px;
	bottom: 3px;
	background-color: white;
	transition: 0.3s;
	border-radius: 50%;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.synoveo-toggle input:checked + .synoveo-toggle-slider {
	background-color: #4385f5;
}

.synoveo-toggle input:checked + .synoveo-toggle-slider:before {
	transform: translateX(20px);
}

.synoveo-toggle-label {
	font-size: 13px;
	font-weight: 500;
	color: #495157;
}

/* Checkbox field */
.synoveo-field-checkbox label {
	display: flex;
	align-items: center;
	cursor: pointer;
	font-size: 13px;
	color: #495157;
}

.synoveo-field-checkbox input[type="checkbox"] {
	margin-right: 8px;
	width: 16px;
	height: 16px;
}

/* Type sections */
.synoveo-type-section {
	margin-top: 15px;
	padding: 15px;
	border-radius: 6px;
}

.synoveo-offer-section {
	background: #f0f7ff;
	border: 1px solid #c5d9f1;
}

.synoveo-event-section {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
}

.synoveo-section-header {
	display: flex;
	align-items: center;
	margin-bottom: 12px;
	font-size: 12px;
	font-weight: 600;
}

.synoveo-offer-section .synoveo-section-header {
	color: #1e40af;
}

.synoveo-event-section .synoveo-section-header {
	color: #166534;
}

.synoveo-section-header .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	margin-right: 6px;
}

/* Upgrade notice */
.synoveo-upgrade-notice {
	margin-top: 8px;
	padding: 8px 10px;
	background: #fef3c7;
	border: 1px solid #fcd34d;
	border-radius: 4px;
	font-size: 11px;
	color: #92400e;
}

/* Status message */
.synoveo-status {
	display: none;
	margin-top: 15px;
	padding: 10px 12px;
	border-radius: 4px;
	font-size: 12px;
	text-align: center;
}

.synoveo-status.saving {
	background: #e0f2fe;
	color: #0369a1;
}

.synoveo-status.success {
	background: #dcfce7;
	color: #166534;
}

.synoveo-status.error {
	background: #fee2e2;
	color: #991b1b;
}

/* Tab styling - make Synoveo tab look better */
[data-tab="synoveo"] {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

[data-tab="synoveo"] svg {
	flex-shrink: 0;
}

/* Styled tab with logo */
.synoveo-tab-styled {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px;
}

.synoveo-tab-icon {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	color: #6d7882;
}

.synoveo-tab-styled.elementor-active .synoveo-tab-icon {
	color: #4385f5;
}

.synoveo-tab-text {
	font-size: 12px;
	line-height: 1;
}

/* Select wrapper for better dropdown styling */
.synoveo-select-wrapper {
	position: relative;
	width: 100%;
}

.synoveo-select-wrapper select {
	width: 100%;
	min-height: 36px;
	padding: 8px 30px 8px 10px;
	border: 1px solid #d5dadf;
	border-radius: 4px;
	font-size: 13px;
	color: #495157;
	background: #fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%236d7882" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg>') no-repeat right 10px center;
	background-size: 12px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.synoveo-select-wrapper select:focus {
	outline: none;
	border-color: #4385f5;
	box-shadow: 0 0 0 2px rgba(67, 133, 245, 0.15);
}

.synoveo-select-wrapper select option {
	padding: 8px;
}

/* Header icon styling */
.synoveo-header-icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.synoveo-header-title {
	font-size: 14px;
	font-weight: 600;
}

/* Info text styling */
.synoveo-info {
	margin-top: 20px;
	padding: 12px;
	background: #f7f9fa;
	border-radius: 6px;
	font-size: 12px;
	color: #6d7882;
	line-height: 1.5;
}

.synoveo-info p {
	margin: 0;
}
