/**
 * Landing Page Styles - Customer Portal
 *
 * Paquse Brand Colors:
 * - Navy: #0F172A
 * - Red: #DD183B
 *
 * @package Paquse Custom Theme
 * @since 1.1.0
 */

/* CSS Variables */
:root {
	--paquse-navy: #0F172A;
	--paquse-red: #DD183B;
	--paquse-red-hover: #B91530;
	--paquse-gray-light: #F8FAFC;
	--paquse-gray: #64748B;
	--paquse-gray-dark: #334155;
	--spacing-xs: 0.5rem;
	--spacing-sm: 1rem;
	--spacing-md: 1.5rem;
	--spacing-lg: 2rem;
	--spacing-xl: 3rem;
	--spacing-xxl: 4rem;
	--border-radius: 8px;
	--box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	--box-shadow-lg: 0 10px 20px rgba(0, 0, 0, 0.15);
}

/* Landing Page Container */
.paquse-landing-page {
	background: var(--paquse-gray-light);
	min-height: 100vh;
}

.paquse-landing-page .site-main {
	padding: 0;
	max-width: 100%;
}

/* Hero Section */
.landing-hero {
	background: linear-gradient(135deg, var(--paquse-navy) 0%, #1e293b 100%);
	color: white;
	padding: var(--spacing-xxl) var(--spacing-md);
	text-align: center;
	min-height: 500px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hero-content {
	max-width: 800px;
	margin: 0 auto;
}

.hero-title {
	font-size: 3rem;
	font-weight: 800;
	margin-bottom: var(--spacing-md);
	line-height: 1.2;
	color: white;
}

.hero-subtitle {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: var(--spacing-sm);
	color: rgba(255, 255, 255, 0.95);
}

.hero-description {
	font-size: 1.125rem;
	margin-bottom: var(--spacing-xl);
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.6;
}

.hero-cta {
	margin-top: var(--spacing-xl);
}

/* Buttons */
.btn {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-xs);
	padding: 1rem 2rem;
	font-size: 1.125rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: var(--border-radius);
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
}

.btn-primary {
	background: var(--paquse-red);
	color: white;
	box-shadow: var(--box-shadow);
}

.btn-primary:hover {
	background: var(--paquse-red-hover);
	box-shadow: var(--box-shadow-lg);
	transform: translateY(-2px);
	color: white;
}

.btn-large {
	padding: 1.25rem 2.5rem;
	font-size: 1.25rem;
}

.login-icon {
	font-size: 1.25em;
}

/* Products Section */
.landing-products {
	padding: var(--spacing-xxl) var(--spacing-md);
	background: white;
}

.products-container {
	max-width: 1200px;
	margin: 0 auto;
}

.section-title {
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: var(--spacing-xl);
	color: var(--paquse-navy);
}

.products-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: var(--spacing-lg);
	margin-top: var(--spacing-xl);
}

.product-card {
	background: var(--paquse-gray-light);
	padding: var(--spacing-lg);
	border-radius: var(--border-radius);
	text-align: center;
	transition: all 0.3s ease;
	border: 2px solid transparent;
}

.product-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--box-shadow-lg);
	border-color: var(--paquse-red);
}

.product-icon {
	width: 64px;
	height: 64px;
	margin: 0 auto var(--spacing-md);
	color: var(--paquse-red);
}

.product-icon svg {
	width: 100%;
	height: 100%;
}

.product-title {
	font-size: 1.5rem;
	font-weight: 700;
	margin-bottom: var(--spacing-sm);
	color: var(--paquse-navy);
}

.product-description {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--paquse-gray-dark);
}

/* Value Propositions Section */
.landing-value-props {
	padding: var(--spacing-xxl) var(--spacing-md);
	background: var(--paquse-gray-light);
}

.value-props-container {
	max-width: 1200px;
	margin: 0 auto;
}

.value-props-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: var(--spacing-lg);
	margin-top: var(--spacing-xl);
}

.value-prop {
	text-align: center;
	padding: var(--spacing-md);
}

.prop-icon {
	font-size: 3rem;
	margin-bottom: var(--spacing-sm);
}

.value-prop h3 {
	font-size: 1.25rem;
	font-weight: 700;
	margin-bottom: var(--spacing-xs);
	color: var(--paquse-navy);
}

.value-prop p {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--paquse-gray-dark);
}

/* CTA Section */
.landing-cta {
	background: linear-gradient(135deg, var(--paquse-navy) 0%, #1e293b 100%);
	color: white;
	padding: var(--spacing-xxl) var(--spacing-md);
	text-align: center;
}

.cta-container {
	max-width: 800px;
	margin: 0 auto;
}

.landing-cta h2 {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: var(--spacing-md);
	color: white;
}

.landing-cta p {
	font-size: 1.25rem;
	margin-bottom: var(--spacing-xl);
	color: rgba(255, 255, 255, 0.9);
}

/* Responsive Design */
@media (max-width: 768px) {
	.hero-title {
		font-size: 2rem;
	}

	.hero-subtitle {
		font-size: 1.25rem;
	}

	.hero-description {
		font-size: 1rem;
	}

	.section-title {
		font-size: 2rem;
	}

	.products-grid {
		grid-template-columns: 1fr;
	}

	.value-props-grid {
		grid-template-columns: 1fr;
	}

	.btn {
		padding: 0.875rem 1.5rem;
		font-size: 1rem;
	}

	.btn-large {
		padding: 1rem 2rem;
		font-size: 1.125rem;
	}

	.landing-cta h2 {
		font-size: 2rem;
	}

	.landing-cta p {
		font-size: 1.125rem;
	}
}

@media (max-width: 480px) {
	.hero-title {
		font-size: 1.75rem;
	}

	.section-title {
		font-size: 1.75rem;
	}

	.landing-hero,
	.landing-products,
	.landing-value-props,
	.landing-cta {
		padding: var(--spacing-lg) var(--spacing-sm);
	}
}

/* Animation */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.product-card,
.value-prop {
	animation: fadeInUp 0.6s ease-out;
}

.product-card:nth-child(1) { animation-delay: 0.1s; }
.product-card:nth-child(2) { animation-delay: 0.2s; }
.product-card:nth-child(3) { animation-delay: 0.3s; }
