/*
 * Styles des sections NovaClub (patterns Gutenberg).
 * Chargés front + éditeur via enqueue_block_assets.
 */

/* ---- Section CTA (CtaSection.tsx) ---- */
.nova-section-cta {
	position: relative;
	overflow: hidden;
	padding: clamp( 60px, 10vw, 120px ) 40px; /* py-[120px] */
	background: linear-gradient(
		135deg,
		var( --ino-navy-900 ),
		#02315c,
		var( --ino-navy-950 )
	); /* from-[#01427c] via-[#02315c] to-[#002F57] */
	font-family: var( --nova-font );
}

.nova-section-cta::before,
.nova-section-cta::after {
	content: '';
	position: absolute;
	border-radius: 9999px;
	pointer-events: none;
}

.nova-section-cta::before {
	top: 0;
	right: 0;
	width: 500px;
	height: 500px;
	background: rgba( 0, 115, 217, 0.1 ); /* bg-[#0073D9]/10 */
	filter: blur( 120px );
}

.nova-section-cta::after {
	bottom: 0;
	left: 0;
	width: 400px;
	height: 400px;
	background: rgba( 32, 187, 244, 0.1 ); /* bg-[#20bbf4]/10 */
	filter: blur( 100px );
}

.nova-section-cta > * {
	position: relative;
	z-index: 1;
}

.nova-section-cta__title {
	margin-bottom: 1.5rem; /* mb-6 */
	font-family: var( --nova-font );
	font-size: clamp( 2rem, 5vw, 3.5rem ); /* text-[56px] */
	font-weight: 700;
	line-height: 1.2; /* leading-[68px] */
	color: #ffffff;
}

.nova-section-cta__subtitle {
	max-width: 800px;
	margin: 0 auto 3rem; /* mb-12 */
	font-size: clamp( 1.125rem, 2vw, 1.375rem ); /* text-[22px] */
	line-height: 1.55; /* leading-[34px] */
	color: rgba( 255, 255, 255, 0.9 );
}

.nova-cta-benefits {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem; /* gap-4 */
	margin: 0 0 2.5rem; /* mb-10 */
	padding: 2rem; /* p-8 */
	list-style: none;
	border: 1px solid rgba( 255, 255, 255, 0.2 ); /* border-white/20 */
	border-radius: 20px;
	background: rgba( 255, 255, 255, 0.1 ); /* bg-white/10 */
	backdrop-filter: blur( 4px );
}

@media ( min-width: 768px ) {
	.nova-cta-benefits {
		grid-template-columns: repeat( 2, 1fr ); /* md:grid-cols-2 */
	}
}

.nova-cta-benefits li {
	position: relative;
	padding-left: 2.25rem;
	font-size: 1rem; /* text-[16px] */
	line-height: 1.5; /* leading-[24px] */
	color: #ffffff;
}

.nova-cta-benefits li::before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem; /* w-6 h-6 */
	height: 1.5rem;
	border-radius: 9999px;
	background: linear-gradient( 135deg, #4ade80, #10b981 ); /* from-green-400 to-emerald-500 */
	font-size: 0.8125rem;
	font-weight: 700;
	color: #ffffff;
}

.nova-btn-light .wp-block-button__link,
.nova-btn-ghost .wp-block-button__link {
	padding: 18px 40px; /* px-[40px] py-[18px] */
	border-radius: 9999px;
	font-family: var( --nova-font );
	font-size: 1.125rem; /* text-[18px] */
	transition: all 0.3s ease;
}

.nova-btn-light .wp-block-button__link {
	background: #ffffff;
	color: var( --ino-navy-900 );
	font-weight: 700;
	box-shadow: 0 25px 50px -12px rgba( 0, 0, 0, 0.25 ); /* shadow-2xl */
}

.nova-btn-light .wp-block-button__link:hover {
	background: #f3f4f6; /* hover:bg-gray-100 */
}

.nova-btn-ghost .wp-block-button__link {
	background: rgba( 255, 255, 255, 0.1 );
	border: 2px solid rgba( 255, 255, 255, 0.3 );
	color: #ffffff;
	font-weight: 600;
	backdrop-filter: blur( 4px );
}

.nova-btn-ghost .wp-block-button__link:hover {
	background: rgba( 255, 255, 255, 0.2 );
	border-color: rgba( 255, 255, 255, 0.5 );
}

.nova-cta-note {
	margin-top: 2rem; /* mt-8 */
	font-size: 0.875rem; /* text-[14px] */
	color: rgba( 255, 255, 255, 0.7 );
}

/* ---- Section générique (FAQ, contenus…) ---- */
.nova-section {
	padding: clamp( 48px, 8vw, 80px ) 24px;
	font-family: var( --nova-font );
}

.nova-section__title {
	font-family: var( --nova-font );
	font-weight: 700;
	color: var( --nova-brand );
}

.nova-section__intro {
	max-width: 640px;
	margin: 0 auto 2.5rem;
	color: var( --nova-muted );
}
