/* ── Maardu Calendar section ─────────────────────────────────────────────── */

.maardu-cal-section {
	padding: 80px 0;
	background: #F5F5F5;
}

.maardu-cal-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 50px;
}


.maardu-cal-section__btn {
	display: inline-block;
	background: #4b559d;
	color: #fff;
	padding: 6px 18px;
	border-radius: 20px;
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	transition: background 0.2s;
}

.maardu-cal-section__btn:hover {
	background: #1a5aa8;
}

/* ── Two-column layout ──────────────────────────────────────────────────────── */

.maardu-cal-wrap {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 51px;
	align-items: start;
}

/* ── Upcoming events list (left) ────────────────────────────────────────────── */

.maardu-cal-events__list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.maardu-cal-event {
	display: flex;
	gap: 25px;
	padding: 8px 0;
}

.maardu-cal-event__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 102px;
	flex-shrink: 0;
}

.maardu-cal-event__day {
	display: block;
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 95%;
	letter-spacing: -0.06em;
	color: #4154A3;
	align-self: stretch;
}

.maardu-cal-event__month {
	display: block;
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: 32px;
	font-weight: 400;
	line-height: 109%;
	letter-spacing: -0.05em;
	color: #4154A3;
	align-self: stretch;
}

.maardu-cal-event__info {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.maardu-cal-event__title {
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: 32px;
	font-weight: 400;
	line-height: 109%;
	letter-spacing: -0.05em;
	color: #000000;
	align-self: stretch;
}

.maardu-cal-event__info::after {
	content: '';
	display: block;
	border-bottom: 1px solid #4154A3;
	align-self: stretch;
	margin-top: auto;
}


.maardu-cal-event__time {
	font-size: 0.64rem;
	color: #888;
	display: block;
}

.maardu-cal-event__location {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 8px;
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 135%;
	letter-spacing: -0.02em;
	color: #4154A3;
}

/* ── Calendar grid (right) ──────────────────────────────────────────────────── */

.maardu-cal-grid {
	user-select: none;
	padding: 15px 0;
}

.maardu-cal-grid__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 12px;
	margin-bottom: 12px;
	border-bottom: 1px solid #e8f0fa;
}

.maardu-cal-grid__arrow {
	background: none;
	border: none;
	font-size: 1.28rem;
	color: #aaa;
	cursor: pointer;
	padding: 2px 8px;
	line-height: 1;
	transition: color 0.2s;
}

.maardu-cal-grid__arrow:hover {
	color: #4b559d;
}

.maardu-cal-grid__month {

	font-size: 0.8rem;
	font-weight: 700;
	color: #4b559d;
}

.maardu-cal-grid__weekdays {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	margin-bottom: 5px;
}

.maardu-cal-grid__weekdays span {
	text-align: center;
	font-size: 0.6rem;
	font-weight: 700;
	color: #bbb;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 4px 0 8px;
}

.maardu-cal-grid__days {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 2px;
}

.maardu-cal__day {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	aspect-ratio: 1;
	font-family: 'Open Sans', Arial, sans-serif;
	font-weight: 500;
	font-size: 0.95rem;
	text-align: center;
	color: #000;
	border-radius: 50%;
	transition: background 0.15s;
}

.maardu-cal__day--empty {
	pointer-events: none;
}

.maardu-cal__day--today {
	background: #4b559d;
	color: #fff;
	font-weight: 700;
}

.maardu-cal__day--event {
	background: #9caed4;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.maardu-cal__day--event:hover {
	background: #4b559d;
}

/* Today + event: dark base, blue ring */
.maardu-cal__day--today.maardu-cal__day--event {
	background: #4b559d;
	box-shadow: 0 0 0 2px #4a90d9;
}

/* ── Event popup ─────────────────────────────────────────────────────────────── */

.maardu-cal-popup {
	position: relative;
	background: #fff;
	border: 1.5px solid #d8e8f5;
	border-radius: 8px;
	padding: 16px 19px 13px;
	margin-top: 19px;
	box-shadow: 0 4px 20px rgba(26,90,168,0.09);
}

.maardu-cal-popup[hidden] {
	display: none;
}

.maardu-cal-popup__close {
	position: absolute;
	top: 8px;
	right: 11px;
	background: none;
	border: none;
	font-size: 1.12rem;
	color: #aaa;
	cursor: pointer;
	line-height: 1;
	padding: 2px 4px;
	transition: color 0.15s;
}

.maardu-cal-popup__close:hover {
	color: #4b559d;
}

.maardu-cal-popup__event {
	padding: 8px 0;
	border-bottom: 1px solid #e8f0fa;
}

.maardu-cal-popup__event:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.maardu-cal-popup__event-title {
	font-size: 0.76rem;
	font-weight: 700;
	color: #4b559d;
	margin-bottom: 4px;
}

.maardu-cal-popup__event-meta {
	font-size: 0.64rem;
	color: #666;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.maardu-cal-popup__event-location {
	color: #4a90d9;
}

/* ── Responsive ──────────────────────────────────────────────────────────────── */

@media (max-width: 900px) {
	.maardu-cal-wrap {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

@media (max-width: 600px) {
	.maardu-cal-section {
		padding: 32px 0 42px;
	}

	.maardu-cal-section__header {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.maardu-cal-grid {
		display: none;
	}

	.maardu-cal__day {
		font-size: 0.58rem;
	}

	.maardu-cal-event__date {
		min-width: unset;
		width: 102px;
		align-items: flex-start;
		flex: none;
		order: 0;
		flex-grow: 0;
	}

	.maardu-cal-event__day {
		width: 52px;
		height: 35px;
		font-weight: 400;
		font-size: 32px;
		line-height: 109%;
		text-align: right;
		letter-spacing: -0.05em;
		align-self: auto;
		flex: none;
		order: 0;
		flex-grow: 0;
	}

	.maardu-cal-event__month {
		width: 59px;
		height: 24px;
		font-weight: 500;
		font-size: 18px;
		line-height: 135%;
		text-align: center;
		letter-spacing: -0.02em;
		align-self: auto;
		flex: none;
		order: 1;
		flex-grow: 0;
	}

	.maardu-cal-event__title {
		font-weight: 500;
		font-size: 18px;
		line-height: 135%;
		letter-spacing: -0.02em;
		border-bottom: none;
		padding-bottom: 0;
		flex: none;
		order: 0;
		align-self: stretch;
		flex-grow: 0;
	}

	.maardu-cal-event__location {
		align-items: flex-end;
		justify-content: flex-start;
		gap: 7px;
		font-weight: 400;
		font-size: 14px;
		line-height: 140%;
		letter-spacing: 0;
		flex: none;
		order: 1;
		align-self: stretch;
		flex-grow: 0;
	}

	.maardu-cal-event__location svg {
		width: 14px;
		height: 14px;
		flex-shrink: 0;
	}

	.maardu-cal-event__location svg path {
		fill: #4154A3;
	}
}
