/**
 * Timezone Converter Styles
 * 
 * @package DOO_Clementina_Learning
 * @version 1.0.0
 */

/* ==========================================================================
   Timezone Notice
   ========================================================================== */

.doo-timezone-notice {
	background: #f0f8ff;
	border-left: 4px solid #2196F3;
	padding: 12px 16px;
	margin: 16px 0;
	border-radius: 4px;
	display: flex;
	align-items: center;
	gap: 12px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.05);
	animation: slideIn 0.3s ease-out;
}

.doo-timezone-notice .doo-tz-icon {
	font-size: 20px;
	flex-shrink: 0;
}

.doo-timezone-notice .doo-tz-text {
	flex: 1;
	color: #1565C0;
	font-size: 14px;
	line-height: 1.5;
}

.doo-timezone-notice .doo-user-tz {
	color: #0D47A1;
	margin-left: 8px;
}

.doo-timezone-notice .doo-user-tz strong {
	font-weight: 600;
}

/* ==========================================================================
   Datetime Elements
   ========================================================================== */

.doo-datetime {
	position: relative;
	display: inline-block;
	cursor: help;
	transition: all 0.2s ease;
}

.doo-datetime:hover {
	color: #2196F3;
}

/* Converted state */
.doo-datetime.doo-tz-converted {
	font-weight: 500;
}

/* Significant time difference indicator */
.doo-datetime.doo-tz-significant-diff {
	background: linear-gradient(120deg, transparent 0%, #FFF3E0 100%);
	padding: 2px 6px;
	border-radius: 3px;
}

.doo-datetime.doo-tz-significant-diff::after {
	content: '⏰';
	margin-left: 4px;
	font-size: 12px;
	opacity: 0.7;
}

/* Error state */
.doo-datetime.doo-tz-error {
	color: #d32f2f;
	text-decoration: line-through;
}

/* ==========================================================================
   Timezone Indicator
   ========================================================================== */

.doo-tz-indicator {
	display: inline-block;
	font-size: 11px;
	color: #666;
	background: #f5f5f5;
	padding: 2px 6px;
	border-radius: 3px;
	margin-left: 4px;
	vertical-align: middle;
	font-weight: normal;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* ==========================================================================
   Class List Specific Styles
   ========================================================================== */

.doo-student-classes-list .doo-datetime {
	font-size: inherit;
}

.doo-classes-table .doo-datetime {
	white-space: nowrap;
}

/* ==========================================================================
   Popup/Modal Datetime
   ========================================================================== */

.popup-container .doo-datetime {
	display: block;
	text-align: center;
}

.confirm-content .doo-datetime {
	font-size: 16px;
	font-weight: 500;
}

/* ==========================================================================
   Dashboard Classes
   ========================================================================== */

.next-classes .doo-datetime,
.class-book .doo-datetime {
	font-size: 14px;
}

/* ==========================================================================
   Animations
   ========================================================================== */

@keyframes slideIn {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes pulse {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0.7;
	}
}

/* Loading state */
.doo-datetime.doo-tz-loading {
	animation: pulse 1.5s ease-in-out infinite;
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

@media (max-width: 768px) {
	.doo-timezone-notice {
		padding: 10px 12px;
		font-size: 13px;
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.doo-timezone-notice .doo-tz-icon {
		font-size: 18px;
	}

	.doo-timezone-notice .doo-user-tz {
		margin-left: 0;
		margin-top: 4px;
		display: block;
	}

	.doo-datetime.doo-tz-significant-diff::after {
		display: none;
	}

	.doo-tz-indicator {
		font-size: 10px;
		padding: 1px 4px;
	}
}

/* ==========================================================================
   Dark Mode Support (Optional)
   ========================================================================== */

@media (prefers-color-scheme: dark) {
	.doo-timezone-notice {
		background: #1a2332;
		border-left-color: #42A5F5;
	}

	.doo-timezone-notice .doo-tz-text {
		color: #90CAF9;
	}

	.doo-timezone-notice .doo-user-tz {
		color: #BBDEFB;
	}

	.doo-datetime.doo-tz-significant-diff {
		background: linear-gradient(120deg, transparent 0%, #3E2723 100%);
	}

	.doo-tz-indicator {
		background: #2d2d2d;
		color: #bbb;
	}
}

/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
	.doo-timezone-notice {
		display: none !important;
	}

	.doo-datetime::after {
		display: none !important;
	}

	.doo-tz-indicator {
		display: inline !important;
		background: transparent;
		border: 1px solid #999;
	}
}

/* ==========================================================================
   Accessibility
   ========================================================================== */

.doo-datetime:focus {
	outline: 2px solid #2196F3;
	outline-offset: 2px;
	border-radius: 2px;
}

.doo-timezone-notice:focus-within {
	box-shadow: 0 0 0 3px rgba(33, 150, 243, 0.2);
}

/* High contrast mode support */
@media (prefers-contrast: high) {
	.doo-timezone-notice {
		border-width: 3px;
	}

	.doo-datetime.doo-tz-converted {
		text-decoration: underline;
	}
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
	.doo-timezone-notice,
	.doo-datetime,
	.doo-datetime.doo-tz-loading {
		animation: none !important;
		transition: none !important;
	}
}
