/**
 * Nova card pub verticale (capture 1) — texte haut / image bas.
 * Variables : onglet Style Pub (child theme).
 */

.nova-card-item:has(.nova-card-pub),
.nova-card-item:has(.nova-card-pub) .nova-card-content,
.nova-card-item--ad:has(.nova-card-pub) .nova-card-ad-inner {
	padding: 0;
	height: 100%;
}

.nova-card-item--ad:has(.nova-card-pub) {
	align-self: stretch;
}

.nova-card-pub {
	--ncp-bg: #fde4d8;
	--ncp-media-bg: #f5d5cb;
	--ncp-media-flex: 1 1 50%;
	--ncp-copy-flex: 1 1 50%;
	--ncp-panel-copy-width: auto;
	--ncp-panel-copy-max-width: none;
	--ncp-panel-copy-min-width: 0;
	--ncp-media-min-height: 200px;
	--ncp-media-height: auto;
	--ncp-media-padding: 0;
	--ncp-media-overflow: hidden;
	--ncp-img-object-fit: cover;
	--ncp-img-object-position: center center;
	--ncp-img-width: 100%;
	--ncp-img-max-width: none;
	--ncp-img-min-width: 0;
	--ncp-img-height: 100%;
	--ncp-img-min-height: 0;
	--ncp-img-max-height: none;
	--ncp-img-radius: 0;
	--ncp-img-border-color: transparent;
	--ncp-img-border-width: 0;
	--ncp-img-shadow: none;
	--ncp-img-opacity: 1;
	--ncp-img-filter: none;
	--ncp-img-hover-scale: 1.03;
	--ncp-img-hover-fit: var(--ncp-img-object-fit);
	--ncp-img-transition: transform 0.45s ease, filter 0.45s ease;
	--ncp-curve: rgba(200, 68, 36, 0.12);
	--ncp-text: #5d1a16;
	--ncp-border-color: transparent;
	--ncp-border-width: 0;
	--ncp-shadow: none;
	--ncp-cta: #c84424;
	--ncp-cta-text: #fff;
	--ncp-cta-hover: #a8381d;
	--ncp-cta-hover-text: #fff;
	--ncp-radius: 16px;
	--ncp-min-height: 420px;
	--ncp-copy-padding: 28px 26px 30px;
	--ncp-copy-gap: 18px;
	--ncp-copy-width: 100%;
	--ncp-copy-max-width: none;
	--ncp-copy-min-width: 0;
	--ncp-copy-min-height: 0;
	--ncp-copy-max-height: none;
	--ncp-copy-margin: 0;
	--ncp-copy-align-self: stretch;
	--ncp-copy-bg: transparent;
	--ncp-copy-border-color: transparent;
	--ncp-copy-border-width: 0;
	--ncp-copy-radius: 0;
	--ncp-copy-shadow: none;
	--ncp-content-max-width: 18em;
	--ncp-content-width: 100%;
	--ncp-content-gap: 0.55em;
	--ncp-align: flex-start;
	--ncp-valign: center;
	--ncp-text-align: left;
	--ncp-panel-bg-size: 296px 231px;
	--ncp-panel-bg-position: right top;
	--ncp-panel-bg-repeat: no-repeat;
	--ncp-panel-bg-opacity: 1;
	--ncp-panel-bg-top: 0;
	--ncp-panel-bg-right: 10px;
	--ncp-panel-bg-bottom: 0;
	--ncp-panel-bg-left: 0;
	--ncp-panel-bg-width: auto;

	--ncp-t1-font: Poppins, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--ncp-t1-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.65rem);
	--ncp-t1-weight: 700;
	--ncp-t1-lh: 1.2;
	--ncp-t1-ls: -0.01em;
	--ncp-t1-color: inherit;
	--ncp-t1-transform: none;

	--ncp-t2-font: Poppins, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--ncp-t2-size: 0.95rem;
	--ncp-t2-weight: 400;
	--ncp-t2-lh: 1.45;
	--ncp-t2-color: inherit;
	--ncp-t2-opacity: 0.92;
	--ncp-t2-max-width: none;

	--ncp-btn-font: Poppins, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--ncp-btn-size: 0.92rem;
	--ncp-btn-weight: 600;
	--ncp-btn-radius: 999px;
	--ncp-btn-padding: 0.7em 1.35em;
	--ncp-btn-min-height: 44px;
	--ncp-btn-border-width: 0;
	--ncp-btn-border-color: transparent;
	--ncp-btn-shadow: none;
	--ncp-btn-shadow-hover: none;
	--ncp-btn-width: auto;
	--ncp-btn-max-width: none;
	--ncp-btn-min-width: 0;
	--ncp-btn-transform: none;
	--ncp-btn-align-self: flex-start;
	--ncp-btn-text-align: left;

	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: var(--ncp-min-height);
	overflow: hidden;
	border-radius: var(--ncp-radius);
	border: var(--ncp-border-width) solid var(--ncp-border-color);
	box-shadow: var(--ncp-shadow);
	background: var(--ncp-bg);
	color: var(--ncp-text);
}

.nova-card-pub.is-text-bottom {
	flex-direction: column-reverse;
}

.nova-card-pub.is-text-light {
	--ncp-text: #fff;
	--ncp-bg: #5b2a8a;
	--ncp-curve: rgba(255, 255, 255, 0.18);
}

.nova-card-pub__panel {
	position: relative;
	min-height: 0;
	min-width: 0;
}

.nova-card-pub__panel--copy {
	flex: var(--ncp-copy-flex);
	box-sizing: border-box;
	width: var(--ncp-panel-copy-width);
	max-width: var(--ncp-panel-copy-max-width);
	min-width: var(--ncp-panel-copy-min-width);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	/* background:
		radial-gradient(120% 80% at 10% 0%, var(--ncp-curve) 0%, transparent 55%),
		radial-gradient(90% 70% at 100% 80%, var(--ncp-curve) 0%, transparent 50%),
		var(--ncp-bg); */
}

.nova-card-pub__panel-bg {
	position: absolute;
	top: var(--ncp-panel-bg-top);
	right: var(--ncp-panel-bg-right);
	bottom: var(--ncp-panel-bg-bottom);
	left: var(--ncp-panel-bg-left);
	width: var(--ncp-panel-bg-width, auto);
	z-index: 0;
	pointer-events: none;
	background-image: var(--ncp-panel-illustration);
	background-repeat: var(--ncp-panel-bg-repeat);
	background-position: var(--ncp-panel-bg-position);
	background-size: var(--ncp-panel-bg-size);
	opacity: var(--ncp-panel-bg-opacity);
}

.nova-card-pub__copy {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	flex: 1 1 auto;
	align-self: var(--ncp-copy-align-self);
	width: var(--ncp-copy-width);
	max-width: var(--ncp-copy-max-width);
	min-width: var(--ncp-copy-min-width);
	min-height: var(--ncp-copy-min-height);
	max-height: var(--ncp-copy-max-height);
	height: 100%;
	margin: var(--ncp-copy-margin);
	padding: var(--ncp-copy-padding);
	display: flex;
	flex-direction: column;
	align-items: var(--ncp-align);
	justify-content: var(--ncp-valign);
	gap: var(--ncp-copy-gap);
	text-align: var(--ncp-text-align);
	background: var(--ncp-copy-bg);
	border: var(--ncp-copy-border-width) solid var(--ncp-copy-border-color);
	border-radius: var(--ncp-copy-radius);
	box-shadow: var(--ncp-copy-shadow);
}

.nova-card-pub__content {
	max-width: var(--ncp-content-max-width);
	width: var(--ncp-content-width);
	display: flex;
	flex-direction: column;
	gap: var(--ncp-content-gap);
}

.nova-card-pub__title > *:first-child,
.nova-card-pub__text2 > *:first-child {
	margin-top: 0;
}

.nova-card-pub__title > *:last-child,
.nova-card-pub__text2 > *:last-child {
	margin-bottom: 0;
}

.nova-card-pub__content > *:first-child {
	margin-top: 0;
}

.nova-card-pub__content > *:last-child {
	margin-bottom: 0;
}

.nova-card-pub__content h1,
.nova-card-pub__content h2,
.nova-card-pub__content h3,
.nova-card-pub__content h4,
.nova-card-pub__content .h1,
.nova-card-pub__title,
.nova-card-pub__title *,
#article-content-right .nova-card-pub h1,
#article-content-right .nova-card-pub h2,
#article-content-right .nova-card-pub h3,
#article-content-right .nova-card-pub h4,
#article-content-right .nova-card-pub .nova-card-pub__title,
#article-content-right .nova-card-pub .nova-card-pub__title * {
	margin: 0 !important;
	font-family: var(--ncp-t1-font) !important;
	font-size: var(--ncp-t1-size) !important;
	font-weight: var(--ncp-t1-weight) !important;
	line-height: var(--ncp-t1-lh) !important;
	letter-spacing: var(--ncp-t1-ls) !important;
	color: var(--ncp-t1-color) !important;
	text-transform: var(--ncp-t1-transform) !important;
	font-style: normal !important;
}

.nova-card-pub__text2 {
	max-width: var(--ncp-t2-max-width);
}

.nova-card-pub__text2,
.nova-card-pub__text2 *,
.nova-card-pub__content p,
#article-content-right .nova-card-pub .nova-card-pub__text2,
#article-content-right .nova-card-pub .nova-card-pub__text2 *,
#article-content-right .nova-card-pub .nova-card-pub__content p {
	margin: 0 !important;
	font-family: var(--ncp-t2-font) !important;
	font-size: var(--ncp-t2-size) !important;
	font-weight: var(--ncp-t2-weight) !important;
	line-height: var(--ncp-t2-lh) !important;
	letter-spacing: normal !important;
	color: var(--ncp-t2-color) !important;
	opacity: var(--ncp-t2-opacity) !important;
}

.nova-card-pub__cta-wrap,
.nova-card-pub .vc_btn3-container.nova-card-pub__cta-wrap {
	box-sizing: border-box;
	margin: 0;
	align-self: var(--ncp-btn-align-self);
	text-align: var(--ncp-btn-text-align);
	width: var(--ncp-btn-width) !important;
	max-width: var(--ncp-btn-max-width) !important;
	min-width: var(--ncp-btn-min-width) !important;
}

.nova-card-pub.is-btn-align-center .nova-card-pub__cta-wrap,
.nova-card-pub .vc_btn3-container.nova-card-pub__cta-wrap.vc_btn3-center {
	margin-left: auto;
	margin-right: auto;
}

.nova-card-pub.is-btn-align-right .nova-card-pub__cta-wrap,
.nova-card-pub .vc_btn3-container.nova-card-pub__cta-wrap.vc_btn3-right {
	margin-left: auto;
	margin-right: 0;
}

.nova-card-pub__cta-wrap .nova-card-pub__cta,
.nova-card-pub .nova-card-pub__cta-wrap a.vc_btn3,
.nova-card-pub .btn a,
.nova-card-pub .btn.arrow-right-back-white-hover a,
.nova-card-pub .btn.arrow-right-back-purple-hover a,
.nova-card-pub .btn.arrow-right-back-white-hover a.nova-card-pub__cta,
.nova-card-pub .btn.arrow-right-back-purple-hover a.nova-card-pub__cta {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: var(--ncp-btn-width) !important;
	max-width: var(--ncp-btn-max-width) !important;
	min-width: var(--ncp-btn-min-width) !important;
	min-height: var(--ncp-btn-min-height) !important;
	padding: var(--ncp-btn-padding) !important;
	border-radius: var(--ncp-btn-radius) !important;
	border: var(--ncp-btn-border-width) solid var(--ncp-btn-border-color) !important;
	font-family: var(--ncp-btn-font) !important;
	font-size: var(--ncp-btn-size) !important;
	font-weight: var(--ncp-btn-weight) !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: var(--ncp-btn-transform) !important;
	text-decoration: none !important;
	box-shadow: var(--ncp-btn-shadow) !important;
	background-color: var(--ncp-cta) !important;
	background-image: none !important;
	color: var(--ncp-cta-text) !important;
}

.nova-card-pub__cta .nova-card-button-icon,
.nova-card-pub .nova-card-button-icon {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	line-height: 0;
}

.nova-card-pub__cta .nova-card-button-icon img,
.nova-card-pub .nova-card-button-arrow {
	display: block;
	width: 1.15em;
	height: 1.15em;
	object-fit: contain;
}

.nova-card-pub__cta-wrap .nova-card-pub__cta:hover,
.nova-card-pub__cta-wrap .nova-card-pub__cta:focus-visible,
.nova-card-pub .nova-card-pub__cta-wrap a.vc_btn3:hover,
.nova-card-pub .nova-card-pub__cta-wrap a.vc_btn3:focus-visible {
	background-color: var(--ncp-cta-hover) !important;
	color: var(--ncp-cta-hover-text) !important;
	box-shadow: var(--ncp-btn-shadow-hover);
}

.nova-card-pub__panel--media {
	flex: var(--ncp-media-flex);
	box-sizing: border-box;
	display: flex;
	align-self: stretch;
	max-height: var(--ncp-media-min-height) !important;
	/* min-height: var(--ncp-media-min-height); */
	height: var(--ncp-media-height);
	max-width: var(--ncp-img-max-width);
	padding: var(--ncp-media-padding);
	overflow: var(--ncp-media-overflow);
	background: var(--ncp-media-bg);
}

.nova-card-pub__media-link {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
}

.nova-card-pub__img {
	display: block;
	box-sizing: border-box;
	width: var(--ncp-img-width);
	max-width: var(--ncp-img-max-width);
	min-width: var(--ncp-img-min-width);
	height: var(--ncp-img-height);
	min-height: var(--ncp-img-min-height);
	max-height: var(--ncp-img-max-height);
	object-fit: var(--ncp-img-object-fit);
	object-position: var(--ncp-img-object-position);
	border-radius: var(--ncp-img-radius);
	border: var(--ncp-img-border-width) solid var(--ncp-img-border-color);
	box-shadow: var(--ncp-img-shadow);
	opacity: var(--ncp-img-opacity);
	filter: var(--ncp-img-filter);
	transform: scale(1);
	transform-origin: center center;
	transition: var(--ncp-img-transition);
}
.nova-card-pub__panel.nova-card-pub__panel--media, .nova-card-pub__panel.nova-card-pub__panel--media a, .nova-card-pub__panel.nova-card-pub__panel--media img {
    height: 100% !important;
    max-height: 100% !important;
}
.nova-card-pub.is-no-image {
	min-height: 220px;
}

.nova-card-pub.is-no-image .nova-card-pub__panel--copy {
	flex: 1 1 auto;
}
.nova-card-pub .btn a:after {
    display: none !important;
}
@media screen and (max-width: 1199px) {
    
	.nova-card-pub__content h1, .nova-card-pub__content h2, .nova-card-pub__content h3, .nova-card-pub__content h4, .nova-card-pub__content .h1, .nova-card-pub__title, .nova-card-pub__title *, #article-content-right .nova-card-pub h1, #article-content-right .nova-card-pub h2, #article-content-right .nova-card-pub h3, #article-content-right .nova-card-pub h4, #article-content-right .nova-card-pub .nova-card-pub__title, #article-content-right .nova-card-pub .nova-card-pub__title * {
		font-size: 16px !important;
		letter-spacing: -1% !important;
		line-height: 115% !important;
	}
	.article-content-left .nova-card-pub__title * {
		font-size: 20px !important;
		line-height: 110% !important;
		letter-spacing: -3% !important;
	}
	#article-content-right .nova-card-pub .nova-card-pub__title * {
		font-size: 26px !important;
		line-height: 115% !important;
		letter-spacing: -3% !important;
	}
}

@media screen and (max-width: 991px) {
	.header-detail-article > div > div {
		padding: 0 !important;
	}
	div#article-content > div > div {
		padding: 0 !important;
	}
	
	div#article-content-right h2, div#article-content-right h2 strong {
		font-size: 20px !important;
	}
	div#article-content-right h3, div#article-content-right h3 strong {
		font-size: 16px !important;
		line-height: 115% !important;
		letter-spacing: -1% !important;
	}
	.nova-card-item:has(.nova-card-pub) {
		min-height: auto !important;
	}
	div#article-content-right  .vc_btn3-container {
		margin-top: 12px !important;
	}
	div#article-content-right .nova-card-pub__panel.nova-card-pub__panel--media {
		display: none !important;
	}
	div#article-content-right .only-show-image-mobile .nova-card-pub__panel.nova-card-pub__panel--media, div#article-content-right .only-show-image-mobile .nova-card-pub__panel.nova-card-pub__panel--media a, div#article-content-right .only-show-image-mobile .nova-card-pub__panel.nova-card-pub__panel--media img {
		display: flex !important;
		aspect-ratio: 399 / 276 !important;
		width: 100% !important;
		height: 100% !important;
		max-width: 100% !important;
		min-height: 276px !important;
		flex: initial !important;
	}
	.article-similaires {
		margin-top: 70px !important;
	}
	.article-similaires .nova-cards-widget {
		padding-top: 48px !important;
	}
	.article-similaires .nova-title-widget .nova-title-text.has-nova-max-width.nova-title-text-1 {
		max-width: 245px !important;
		width: 100% !important;
	}
	div#article-content-right .only-show-image-mobile .nova-card-pub__panel.nova-card-pub__panel--copy {
		display: none !important;
	}
	
	
	.article-content-right {
		margin-top: 64px;
	}
	.article-content-left .nova-cards-grid > .nova-card-item:not(.nova-card-item--ad) {
		min-height: auto !important;
	}
	div#articles .nova-card-pub__text2 {
		display: none;
	}
	.nova-card-pub {
		display: flex !important;
		flex-direction: row !important;
		max-width: 508px !important;
		width: 100% !important;
		margin: 0 auto 0 auto !important;
		/*
		 * `align-items: stretch` (valeur par défaut, mais on l'explicite) fait
		 * que les DEUX panneaux prennent la hauteur de la ligne flex, donc la
		 * hauteur du panneau texte — qui est le plus haut des deux.
		 *
		 * C'est CE mécanisme qui étire l'image, et non un `height: 100%` :
		 * `.nova-card-pub` porte `height: 100%`, mais son parent
		 * `.nova-card-item` n'a pas de hauteur définie, donc ce pourcentage se
		 * résout sur `auto` et ne contraint rien. Toute la chaîne de `%`
		 * en dessous est donc inopérante : il faut passer par l'étirement flex.
		 */
		align-items: stretch !important;
	}

	.nova-card-pub__panel.nova-card-pub__panel--media {
		/*
		 * Neutralise `min-height: var(--ncp-media-min-height)` (220px dans
		 * l'admin) : cette valeur sert de PLANCHER et empêchait le panneau de
		 * se réduire, mais surtout elle fixe une hauteur intrinsèque qui
		 * court-circuite l'étirement quand le texte est plus court qu'elle.
		 * On garde un plancher aligné sur la largeur (140px), pas plus.
		 */
		min-height: 140px !important;
		max-height: none !important;
		height: auto !important;
		width: 140px !important;
		max-width: 140px !important;
		flex: 0 0 140px !important;
		align-self: stretch !important;
		aspect-ratio: auto !important;
		display: flex !important;
		align-items: stretch !important;
	}

	/* Le lien doit remplir le panneau : sans `flex: 1`, il se contente de la
	   hauteur intrinsèque de l'image et laisse un vide sous celle-ci. */
	.nova-card-pub__panel--media .nova-card-pub__media-link {
		display: flex !important;
		flex: 1 1 auto !important;
		align-items: stretch !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
	}

	img.nova-card-pub__img {
		width: 100% !important;
		/*
		 * `height: 100%` ne suffit pas (parent sans hauteur définie) : on
		 * s'appuie sur `align-self: stretch` dans un parent flex en colonne,
		 * ce qui étire l'image sur la hauteur réelle disponible.
		 */
		height: auto !important;
		align-self: stretch !important;
		flex: 1 1 auto !important;
		min-height: 100% !important;
		max-height: none !important;
		object-fit: cover !important;
		object-position: center !important;
		/*
		 * ⚠️ `aspect-ratio` doit rester `auto`. Posé à `1` (valeur d'origine),
		 * il recalcule la hauteur depuis la largeur (140px) et l'image
		 * redevient un carré 140×140 au lieu de couvrir la hauteur de la carte.
		 */
		aspect-ratio: auto !important;
	}
	.nova-card-pub__content {
		max-width: 100% !important;
	}
	.nova-card-pub__copy {
		max-width: 100% !important;
		padding: 8px 20px !important;
		gap: 4px !important;
		justify-content: space-around;
	}
	div#article-content .nova-card-pub__copy{
		padding: 20px 20px !important;
		gap: 12px !important;

	}
	.pubs-cards-n .nova-card-pub__title * {
		font-size: 16px !important;
		letter-spacing: -1% !important;
		line-height: 115% !important;
	}
}
@media screen and (max-width: 767px) {
	.nova-card-pub {
		min-height: min(380px, var(--ncp-min-height));
	}

	.nova-card-pub__copy {
		gap: 14px;
	}
}
