/*
 * MinucciNews — Derniers articles
 * -----------------------------------------------------------------------------
 * Stratégie anti-écrasement :
 *   1. Tous les sélecteurs sont scopés sous .minuccinews et utilisent des classes
 *      préfixées .minuccinews-* / .minuccinews__* (aucune collision possible).
 *   2. Toutes les valeurs personnalisables passent par des variables CSS (--mn-*)
 *      posées sur le wrapper Elementor (.elementor-element-XXX) par les contrôles
 *      du widget. La variable est héritée vers .minuccinews via la cascade : les
 *      contrôles l'emportent TOUJOURS, quel que soit l'ordre de chargement des CSS.
 *   3. Les valeurs par défaut sont en repli inline (var(--mn-x, defaut)) : aucune
 *      déclaration concurrente ne vient écraser la valeur posée par le contrôle.
 * -----------------------------------------------------------------------------
 */

.minuccinews,
.minuccinews *,
.minuccinews *::before,
.minuccinews *::after {
	box-sizing: border-box;
}

/*
 * Le wrapper Elementor du widget remplit toujours la largeur de son conteneur,
 * y compris dans un conteneur flexbox (où un widget se dimensionne sinon sur son
 * contenu). Le contrôle « Largeur du bloc » (sur {{WRAPPER}}) reste prioritaire
 * grâce à l'ordre de chargement (même spécificité, CSS du contrôle chargé après).
 */
.elementor-widget-minuccinews-latest-posts {
	width: 100%;
	max-width: 100%;
}

.minuccinews {
	width: 100%;
	max-width: 100%;
}

.minuccinews a {
	text-decoration: none;
}

.minuccinews img {
	max-width: 100%;
	height: auto;
}

/* -------------------------------------------------------------------------- */
/* En-tête                                                                    */
/* -------------------------------------------------------------------------- */

.minuccinews .minuccinews__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px 24px;
	margin: 0 0 var(--mn-header-gap, 34px) 0;
}

.minuccinews .minuccinews__header-left {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.minuccinews .minuccinews__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mn-eyebrow-color, #8a8f57);
}

.minuccinews .minuccinews__eyebrow::before {
	content: "";
	display: inline-block;
	width: 32px;
	height: 2px;
	background-color: currentColor;
	flex: 0 0 auto;
}

.minuccinews .minuccinews__heading {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.7rem, 3vw, 2.3rem);
	line-height: 1.15;
	font-weight: 700;
	color: var(--mn-heading-color, #1c2b27);
}

.minuccinews .minuccinews__view-all {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--mn-viewall-color, #1c2b27);
	transition: color 0.2s ease, gap 0.2s ease;
}

.minuccinews .minuccinews__view-all:hover,
.minuccinews .minuccinews__view-all:focus {
	color: var(--mn-viewall-hover, #8a8f57);
	gap: 12px;
}

/* -------------------------------------------------------------------------- */
/* Grille                                                                     */
/* -------------------------------------------------------------------------- */

.minuccinews .minuccinews__grid {
	display: grid;
	grid-template-columns: repeat(var(--mn-columns, 3), minmax(0, 1fr));
	gap: var(--mn-gap, 28px);
}

/* -------------------------------------------------------------------------- */
/* Carte                                                                      */
/* -------------------------------------------------------------------------- */

.minuccinews .minuccinews-card {
	display: flex;
	flex-direction: column;
	margin: 0;
	background-color: var(--mn-card-bg, #ffffff);
	border: var(--mn-card-border-width, 1px) solid var(--mn-card-border-color, #ececec);
	border-radius: var(--mn-card-radius, 14px);
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.minuccinews .minuccinews-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(28, 43, 39, 0.10);
}

/* Image */
.minuccinews .minuccinews-card__image-link {
	display: block;
	line-height: 0;
}

.minuccinews .minuccinews-card__image {
	position: relative;
	width: 100%;
	height: var(--mn-image-height, 190px);
	background-color: var(--mn-image-bg, #e6e8de);
	overflow: hidden;
}

.minuccinews .minuccinews-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.minuccinews .minuccinews-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--mn-image-icon, #b7bcae);
}

.minuccinews .minuccinews-card__placeholder svg {
	width: 42px;
	height: 42px;
}

/* Corps de la carte */
.minuccinews .minuccinews-card__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: var(--mn-card-padding, 22px);
}

/* Méta */
.minuccinews .minuccinews-card__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 14px;
}

.minuccinews .minuccinews-card__category {
	display: inline-block;
	padding: var(--mn-badge-padding, 5px 12px);
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--mn-badge-color, #5b6650);
	background-color: var(--mn-badge-bg, #e9ebe2);
	border-radius: var(--mn-badge-radius, 6px);
	transition: color 0.2s ease, background-color 0.2s ease;
}

.minuccinews a.minuccinews-card__category:hover,
.minuccinews a.minuccinews-card__category:focus {
	color: var(--mn-badge-hover-color, #ffffff);
	background-color: var(--mn-badge-hover-bg, #8a8f57);
}

.minuccinews .minuccinews-card__date {
	font-size: 0.82rem;
	line-height: 1.3;
	color: var(--mn-date-color, #8a8f8c);
}

/* Titre */
.minuccinews .minuccinews-card__title {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.22rem;
	line-height: 1.3;
	font-weight: 700;
}

.minuccinews .minuccinews-card__title a {
	color: var(--mn-title-color, #1c2b27);
	transition: color 0.2s ease;
}

.minuccinews .minuccinews-card__title a:hover,
.minuccinews .minuccinews-card__title a:focus {
	color: var(--mn-title-hover, #8a8f57);
}

/* Extrait */
.minuccinews .minuccinews-card__excerpt {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.6;
	color: var(--mn-excerpt-color, #5d645f);
}

/* Lien « lire l'article » */
.minuccinews .minuccinews-card__readmore {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding-top: 4px;
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--mn-readmore-color, #1c2b27);
	transition: color 0.2s ease, gap 0.2s ease;
}

.minuccinews .minuccinews-card__readmore:hover,
.minuccinews .minuccinews-card__readmore:focus {
	color: var(--mn-readmore-hover, #8a8f57);
	gap: 12px;
}

.minuccinews .minuccinews-card__arrow,
.minuccinews .minuccinews__arrow {
	display: inline-block;
	transition: transform 0.2s ease;
}

.minuccinews .minuccinews-card__readmore:hover .minuccinews-card__arrow,
.minuccinews .minuccinews__view-all:hover .minuccinews__arrow {
	transform: translateX(3px);
}

/* Message éditeur (aucun article) */
.minuccinews .minuccinews-empty {
	margin: 0;
	padding: 24px;
	text-align: center;
	color: #8a8f8c;
	border: 1px dashed #d6d9cf;
	border-radius: 12px;
}

/* -------------------------------------------------------------------------- */
/* Repli responsive (au cas où aucune valeur de colonnes n'est posée)         */
/* Elementor pose --mn-columns par point de rupture ; ceci n'est qu'un filet. */
/* -------------------------------------------------------------------------- */

@media (max-width: 767px) {
	.minuccinews .minuccinews__header {
		align-items: flex-start;
	}
}
