/* =========================================================
   COA - MONTHLY CHALLENGE
========================================================= */

.coa-monthly-challenge {
	position: relative;
	width: 100%;
	max-width: 805px;
	min-height: 645px;
	padding: 34px 36px 36px;
	box-sizing: border-box;
	overflow: hidden;

	background:
		radial-gradient(
			circle at 100% 100%,
			rgba(210, 228, 255, 0.75) 0,
			rgba(210, 228, 255, 0.35) 20%,
			transparent 42%
		),
		linear-gradient(
			135deg,
			#ffffff 0%,
			#f8fbff 55%,
			#eef6ff 100%
		);

	border: 1px solid #e3edf9;
	border-radius: 16px;
	box-shadow: 0 8px 25px rgba(35, 91, 150, 0.08);
}

/* Decorative bottom shape */
.coa-monthly-challenge::after {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -100px;

	width: 380px;
	height: 220px;

	background: rgba(211, 229, 255, 0.45);

	border-radius: 50% 50% 0 0;

	transform: rotate(-12deg);

	pointer-events: none;
}

.coa-monthly-challenge__content {
	position: relative;
	z-index: 2;
	display: flex;
    flex-flow: column;
}

/* =========================================================
   HEADER
========================================================= */

.coa-monthly-challenge__header {
	margin-bottom: 14px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 10px;
}

.coa-monthly-challenge__eyebrow {
	display: inline-flex;
	align-items: center;

	padding: 5px 18px;

	background: #eaf3ff;
	color: #1769df;

	border-radius: 30px;

	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
}

.coa-monthly-challenge__title {
	margin: 16px 0 14px;

	color: #102f52;

	font-size: clamp(48px, 5vw, 68px);
	font-weight: 800;
	line-height: 0.95;
	letter-spacing: -2px;
	width: 100%;
}

.coa-monthly-challenge__title strong {
	background: linear-gradient(
		90deg,
		#1769df,
		#2879ed
	);

	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}



/* =========================================================
   DESCRIPTION
========================================================= */

.coa-monthly-challenge__description {
	max-width: 680px;
	margin-bottom: 28px;
}

.coa-monthly-challenge__description p {
	/*margin: 0;

	color: #18395f;

	font-size: 18px;
	line-height: 1.45;*/
}

/* =========================================================
   COURSE
========================================================= */

.coa-monthly-challenge__course {
	display: flex;
	align-items: center;
	gap: 28px;

	position: relative;
	z-index: 2;

	margin-bottom: 28px;
}

.coa-monthly-challenge__media {
	flex: 0 0 250px;

	width: 250px;
	height: 200px;

	overflow: hidden;

	border-radius: 14px;

	background: #edf4fc;

	box-shadow:
		0 5px 15px rgba(22, 65, 110, 0.12),
		0 1px 3px rgba(22, 65, 110, 0.08);
}

.coa-monthly-challenge__image {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transition: transform 0.3s ease;
}

.coa-monthly-challenge__media:hover
.coa-monthly-challenge__image {
	transform: scale(1.03);
}

.coa-monthly-challenge__course-content {
	flex: 1;
	min-width: 0;
}

.coa-monthly-challenge__dates {
    color: #ea5d0b;
	font-weight:700;
}

.coa-monthly-challenge__label {
	display: inline-block;

	margin-bottom: 10px;

	color: #1769df;

	font-size: 16px;
	font-weight: 700;
}

.coa-monthly-challenge__course-content h3 {
	margin: 0;

	color: #102f52;

	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
}

/* =========================================================
   PARTICIPATION
========================================================= */

.coa-monthly-challenge__participation {
	position: relative;
	z-index: 3;

	margin-top: 10px;
}

/* "Vous participez..." */

.coa-monthly-challenge__participation-label {
	display: flex;
	align-items: center;

	margin: 0 0 12px;

	color: #1769df;

	font-size: 17px;
	font-weight: 700;
}

.coa-monthly-challenge__participation-label::before {
	content: "✓";

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 28px;
	height: 28px;

	margin-right: 10px;

	background: #e8f3ff;
	color: #1769df;

	border-radius: 50%;

	font-size: 15px;
	font-weight: 800;
}

/* =========================================================
   TIMER
========================================================= */

.coa-monthly-challenge__timer {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: 100%;
	max-width: fit-content;

	margin-bottom: 22px;
	padding: 18px 22px;

	box-sizing: border-box;

	background: rgba(255, 255, 255, 0.85);

	border: 1px solid #dceafa;
	border-radius: 14px;

	box-shadow:
		0 5px 18px rgba(35, 91, 150, 0.08);
}

/* Temps restant */

.coa-monthly-challenge__timer-label {
	color: #18395f;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}
.coa-monthly-challenge__timer-label svg {
    background: #eaf3ff;
    border-radius: 50%;
    box-shadow: 3px 0px 0px #eaf3ff;
}

.coa-monthly-challenge__timer {
	display: flex;
	align-items: center;
	gap: 25px;

	padding: 16px 20px;

	background: rgba(255, 255, 255, 0.75);
	border-radius: 18px;
}

.coa-monthly-challenge__timer-label {
	color: #18395f;
	font-size: 16px;
	font-weight: 600;
}

.coa-monthly-challenge__timer-countdown {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.coa-monthly-challenge__timer-unit {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.coa-monthly-challenge__timer-unit strong {
	    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 32px;
    background: #046bd2;
    color: #fff;
    border-radius: 6px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
}

.coa-monthly-challenge__timer-unit span {
	color: #1769df;

	font-size: 12px;
	font-weight: 500;
}

.coa-monthly-challenge__timer-separator {
	margin-top: 10px;

	color: #1769df;

	font-size: 24px;
	font-weight: 700;
}

.coa-monthly-challenge__expired {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    font-weight: 700;
	color: red;
}
.coa-monthly-challenge__expired svg{
	fill:red;
}

/* =========================================================
   BUTTON
========================================================= */

.coa-monthly-challenge__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 315px;
	min-height: 66px;

	padding: 15px 30px;

	box-sizing: border-box;

	background: linear-gradient(135deg, #033670 0%, #046bd2 100%);
	color: #fff !important;

	border-radius: 40px;

	font-size: 19px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;

	box-shadow:
		0 8px 18px rgba(23, 105, 223, 0.20);

	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease;
}

.coa-monthly-challenge__button::after {
	content: "→";

	margin-left: 20px;

	font-size: 27px;
	font-weight: 400;

	transition: transform 0.2s ease;
}

.coa-monthly-challenge__button:hover {
	transform: translateY(-2px);

	background: linear-gradient(
		135deg,
		#1260d5 0%,
		#046bd2 100%
	);

	color: #fff !important;

	box-shadow:
		0 12px 25px rgba(23, 105, 223, 0.28);
}

.coa-monthly-challenge__button:hover::after {
	transform: translateX(5px);
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 767px) {

	.coa-monthly-challenge {
		min-height: auto;
		padding: 28px 22px 30px;
		border-radius: 14px;
	}

	.coa-monthly-challenge__eyebrow {
		padding: 8px 15px;
		font-size: 15px;
	}

	.coa-monthly-challenge__title {
		margin-top: 14px;
		font-size: 48px;
		letter-spacing: -1.5px;
	}

	.coa-monthly-challenge__description {
		margin-bottom: 22px;
	}

	.coa-monthly-challenge__description p {
		font-size: 16px;
		line-height: 1.5;
	}

	.coa-monthly-challenge__course {
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
	}

	.coa-monthly-challenge__media {
		width: 100%;
		height: auto;
		aspect-ratio: 1.2 / 1;
		flex-basis: auto;
	}

	.coa-monthly-challenge__course-content h3 {
		font-size: 21px;
	}

	.coa-monthly-challenge__label {
		font-size: 15px;
	}

	/* Timer mobile */

	.coa-monthly-challenge__timer {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;

		max-width: 100%;

		padding: 16px;
	}

	.coa-monthly-challenge__timer-label {
		text-align: center;
	}

	.coa-monthly-challenge__timer-value {
		width: 100%;
		min-width: 0;

		font-size: 23px;
	}

	/* Button mobile */

	.coa-monthly-challenge__button {
		width: 100%;
		min-width: 0;
		min-height: 60px;

		font-size: 17px;
	}
}