/**
 * Load More Styles
 * 
 * RTL-friendly, responsive, and modern styling
 * 
 * @package HelloElementorChild
 * @since 1.0.0
 */

/* Load More Container */
.hello-child-load-more-container {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 40px 0;
	padding: 20px;
	width: 100%;
}

/* Load More Button */
.hello-child-load-more-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 32px;
	font-size: 16px;
	font-weight: 600;
	color: #ffffff;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border: none;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
	text-transform: none;
	letter-spacing: 0.5px;
	min-width: 180px;
	position: relative;
	overflow: hidden;
}

/* Button Hover State */
.hello-child-load-more-btn:hover:not(:disabled) {
	background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
	box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6);
	transform: translateY(-2px);
}

/* Button Active State */
.hello-child-load-more-btn:active:not(:disabled) {
	transform: translateY(0);
	box-shadow: 0 2px 10px rgba(102, 126, 234, 0.4);
}

/* Button Disabled State */
.hello-child-load-more-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Button Loading State */
.hello-child-load-more-btn.loading {
	pointer-events: none;
}

/* Load More Text */
.hello-child-load-more-text {
	display: inline-block;
	transition: opacity 0.3s ease;
}

/* Spinner */
.hello-child-load-more-spinner {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.hello-child-load-more-spinner .spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-top-color: #ffffff;
	border-radius: 50%;
	animation: hello-child-spin 0.8s linear infinite;
}

@keyframes hello-child-spin {
	to {
		transform: rotate(360deg);
	}
}

/* New Items Animation */
.hello-child-load-more-item-new {
	animation: hello-child-fade-in 0.5s ease-out;
}

@keyframes hello-child-fade-in {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* RTL Support */
[dir="rtl"] .hello-child-load-more-btn {
	direction: rtl;
}

[dir="rtl"] .hello-child-load-more-spinner {
	margin-right: 8px;
}

[dir="ltr"] .hello-child-load-more-spinner {
	margin-left: 8px;
}

/* Responsive Design */
@media (max-width: 768px) {
	.hello-child-load-more-container {
		margin: 30px 0;
		padding: 15px;
	}

	.hello-child-load-more-btn {
		padding: 10px 24px;
		font-size: 14px;
		min-width: 160px;
	}

	.hello-child-load-more-spinner .spinner {
		width: 14px;
		height: 14px;
		border-width: 2px;
	}
}

@media (max-width: 480px) {
	.hello-child-load-more-container {
		margin: 20px 0;
		padding: 10px;
	}

	.hello-child-load-more-btn {
		padding: 10px 20px;
		font-size: 13px;
		min-width: 140px;
		width: 100%;
	}

	.hello-child-load-more-text {
		font-size: 13px;
	}
}

/* Accessibility */
.hello-child-load-more-btn:focus {
	outline: 2px solid #667eea;
	outline-offset: 2px;
}

.hello-child-load-more-btn:focus:not(:focus-visible) {
	outline: none;
}

.hello-child-load-more-btn:focus-visible {
	outline: 2px solid #667eea;
	outline-offset: 2px;
}

/* High Contrast Mode Support */
@media (prefers-contrast: more) {
	.hello-child-load-more-btn {
		border: 2px solid currentColor;
	}
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
	.hello-child-load-more-btn,
	.hello-child-load-more-text,
	.hello-child-load-more-item-new {
		transition: none;
		animation: none;
	}

	.hello-child-load-more-spinner .spinner {
		animation: none;
		border-top-color: transparent;
		border-right-color: #ffffff;
	}
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
	.hello-child-load-more-btn {
		background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
		box-shadow: 0 4px 15px rgba(90, 103, 216, 0.3);
	}

	.hello-child-load-more-btn:hover:not(:disabled) {
		box-shadow: 0 6px 20px rgba(90, 103, 216, 0.5);
	}
}

/* Print Styles */
@media print {
	.hello-child-load-more-container,
	.hello-child-load-more-btn {
		display: none;
	}
}
