/*
 * Charte du site mosquee-asnieres.fr : or #D1AD3C, bleu marine #2A486C, texte #555, Poppins.
 * Tailles en px et sélecteurs renforcés : le rendu reste identique même si le shortcode
 * est placé dans un widget Titre (h2) d'Elementor.
 */
.mwq {
	--mwq-gold: #d1ad3c;
	--mwq-gold-soft: #faf5e6;
	--mwq-navy: #2a486c;
	--mwq-text: #555;
	--mwq-muted: #8a8a8a;
	--mwq-border: #eee;
	box-sizing: border-box;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--mwq-text);
	text-align: left;
	text-transform: none;
	letter-spacing: normal;
}
.mwq *,
.mwq *::before,
.mwq *::after {
	box-sizing: border-box;
	font-family: inherit;
	letter-spacing: normal;
	text-transform: none;
}

/* ---------- Horaires ---------- */
.mwq.mwq-times {
	width: 100%;
	max-width: 560px;
	margin: 0 auto;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 30px rgba(0, 0, 0, .08);
	overflow: hidden;
}
.mwq-times .mwq-head {
	padding: 22px 24px 18px;
	background: var(--mwq-navy);
	text-align: center;
}
.mwq-times .mwq-title {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--mwq-gold);
}
.mwq-times .mwq-date {
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.5;
	color: rgba(255, 255, 255, .85);
}
.mwq-times .mwq-hijri { color: rgba(255, 255, 255, .85); }

.mwq-times table.mwq-table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: transparent;
	table-layout: auto;
}
.mwq-times .mwq-table th,
.mwq-times .mwq-table td {
	padding: 12px 24px;
	border: 0;
	border-bottom: 1px solid var(--mwq-border);
	background: transparent;
	font-size: 16px;
	line-height: 1.4;
	text-align: right;
	vertical-align: middle;
	color: var(--mwq-text);
}
.mwq-times .mwq-table th {
	padding-top: 14px;
	padding-bottom: 8px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--mwq-muted);
}
.mwq-times .mwq-table td.mwq-name {
	text-align: left;
	font-weight: 600;
	color: var(--mwq-navy);
	white-space: nowrap;
}
.mwq-times .mwq-ar {
	margin-left: 8px;
	font-size: 15px;
	font-weight: 400;
	color: var(--mwq-gold);
}
.mwq-times .mwq-table td.mwq-adhan {
	font-size: 18px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--mwq-navy);
}
.mwq-times .mwq-table td.mwq-iqama {
	font-variant-numeric: tabular-nums;
	color: var(--mwq-muted);
}
.mwq-times .mwq-shuruq td,
.mwq-times .mwq-table .mwq-shuruq td.mwq-name,
.mwq-times .mwq-table .mwq-shuruq td.mwq-adhan {
	font-size: 14px;
	font-weight: 400;
	color: var(--mwq-muted);
}

/* Prochaine prière */
.mwq-times .mwq-prayer.is-next td { background: var(--mwq-gold-soft); }
.mwq-times .mwq-prayer.is-next td:first-child { box-shadow: inset 4px 0 0 var(--mwq-gold); }
.mwq-times .mwq-table .mwq-prayer.is-next td.mwq-name,
.mwq-times .mwq-table .mwq-prayer.is-next td.mwq-adhan { color: var(--mwq-gold); }

.mwq-times .mwq-jumua {
	padding: 14px 24px;
	background: var(--mwq-gold);
	font-size: 16px;
	text-align: center;
	color: #fff;
}
.mwq-times .mwq-jumua strong { font-weight: 600; color: #fff; }
.mwq-times .mwq-source {
	padding: 8px 24px;
	font-size: 12px;
	text-align: right;
	color: var(--mwq-muted);
}
.mwq-times .mwq-source a { color: inherit; text-decoration: underline; }

@media (max-width: 480px) {
	.mwq-times .mwq-table th,
	.mwq-times .mwq-table td { padding: 10px 14px; }
	.mwq-times .mwq-ar { display: block; margin: 0; font-size: 13px; }
}

/* ---------- Prochaine prière ---------- */
.mwq.mwq-next {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
	padding: 10px 22px;
	border-radius: 40px;
	background: var(--mwq-gold);
	color: #fff;
}
.mwq-next .mwq-next-label { font-size: 14px; opacity: .9; }
.mwq-next .mwq-next-name { font-weight: 600; }
.mwq-next .mwq-next-count { font-variant-numeric: tabular-nums; }

/* ---------- Annonces ---------- */
.mwq.mwq-announcements {
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.mwq-announcements .mwq-ann {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 0 30px rgba(0, 0, 0, .08);
	overflow: hidden;
}
.mwq-announcements .mwq-ann-img { display: block; width: 100%; height: auto; margin: 0; }
.mwq-announcements .mwq-ann-video iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.mwq-announcements .mwq-ann-title {
	margin: 20px 22px 8px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--mwq-gold);
}
.mwq-announcements .mwq-ann-content {
	margin: 0 22px 22px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--mwq-text);
}
.mwq-announcements .mwq-ann-content a { color: var(--mwq-navy); }

/* ---------- Diaporama d'annonces ---------- */
.mwq.mwq-slider {
	position: relative;
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
	padding-bottom: 36px;
}
.mwq-slider .mwq-slider-viewport {
	overflow: hidden;
	border-radius: 10px;
	box-shadow: 0 0 30px rgba(0, 0, 0, .08);
}
.mwq-slider .mwq.mwq-announcements.mwq-track {
	display: flex;
	gap: 0;
	transition: transform .6s ease;
	will-change: transform;
}
.mwq-slider .mwq-track .mwq-ann {
	display: flex;
	flex: 0 0 100%;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	min-height: 220px;
	border-radius: 0;
	box-shadow: none;
}
.mwq-slider .mwq-track .mwq-ann-title,
.mwq-slider .mwq-track .mwq-ann-content { margin-right: 64px; margin-left: 64px; }
.mwq-slider .mwq-track .mwq-ann-img + .mwq-ann-title { margin-top: 16px; }
.mwq-slider .mwq-track .mwq-ann-img {
	max-height: 460px;
	object-fit: contain;
	background: var(--mwq-gold-soft);
}
.mwq-slider .mwq-nav {
	position: absolute;
	top: calc(50% - 18px);
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--mwq-navy);
	color: #fff;
	font-size: 28px;
	line-height: 40px;
	text-align: center;
	cursor: pointer;
	opacity: .85;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .2);
}
.mwq-slider .mwq-nav:hover,
.mwq-slider .mwq-nav:focus-visible { background: var(--mwq-gold); opacity: 1; }
.mwq-slider .mwq-prev { left: 10px; }
.mwq-slider .mwq-next-btn { right: 10px; }
.mwq-slider .mwq-dots {
	position: absolute;
	right: 0;
	bottom: 6px;
	left: 0;
	display: flex;
	justify-content: center;
	gap: 8px;
}
.mwq-slider .mwq-dot {
	width: 10px;
	height: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: #ddd;
	cursor: pointer;
	transition: width .3s, background .3s;
}
.mwq-slider .mwq-dot.is-active { width: 26px; background: var(--mwq-gold); }

/* ---------- Message flash ---------- */
.mwq.mwq-flash {
	display: flex;
	align-items: stretch;
	width: 100%;
	overflow: hidden;
	border-radius: 6px;
	background: var(--mwq-navy);
	color: #fff;
}
.mwq-flash .mwq-flash-badge {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	padding: 10px 16px;
	background: var(--mwq-gold);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #fff;
}
.mwq-flash .mwq-flash-window {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
	mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
}
.mwq-flash .mwq-flash-track {
	display: inline-flex;
	white-space: nowrap;
	animation: mwq-marquee var(--mwq-flash-duration, 20s) linear infinite;
}
.mwq-flash:hover .mwq-flash-track { animation-play-state: paused; }
.mwq-flash .mwq-flash-text {
	padding: 10px 48px 10px 24px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #fff;
}
@keyframes mwq-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.mwq-flash .mwq-flash-track { animation: none; white-space: normal; }
	.mwq-flash .mwq-flash-text + .mwq-flash-text { display: none; }
	.mwq-slider .mwq.mwq-announcements.mwq-track { transition: none; }
}
@media (max-width: 480px) {
	.mwq-slider .mwq-nav { display: none; }
	.mwq-slider .mwq-track .mwq-ann-title,
	.mwq-slider .mwq-track .mwq-ann-content { margin-right: 20px; margin-left: 20px; }
	.mwq-flash .mwq-flash-text { font-size: 15px; }
}

.mwq.mwq-error,
.mwq.mwq-ann-empty { padding: 12px; color: var(--mwq-muted); }
