/* ========================
RANGÉES PRÉ-ENREGISTRÉES
Cards UABB CTA + Info Box
======================== */
/* ========================
1. COMPOSANT CARD GLOBAL
.a71-rangee-card-item peut être utilisé partout
======================== */

.a71-rangee-card-item {
	display: flex;
	width: 100%;
	aspect-ratio: 384 / 280;
}

/* Surface principale de la carte */
.a71-rangee-card-item > .fl-module-content {
	display: flex;
	flex: 1;
	width: 100%;
	/*height: 100%;*/

	/*background-color: var(--couleur-bg);*/
	border-radius: var(--radius-xxs);
	overflow: hidden;
}

/* Contenu interne commun UABB */
.a71-rangee-card-item > .fl-module-content > .uabb-module-content {
	display: flex;
	flex: 1;
	width: 100%;
	padding: 24px;
}

/* Version avec image */
/**/
.a71-rangee-card-item.item-avec-image {
	aspect-ratio: none;

}
.a71-rangee-card-item.item-avec-image .uabb-image .uabb-photo-img {
	aspect-ratio: 1.63;
	object-fit: cover;
	width: auto !important;
}
.a71-rangee-card-item > .fl-module-content > .uabb-module-content.infobox-has-photo {
	padding: 0px;
}

.a71-rangee-card-item > .fl-module-content > .uabb-module-content.infobox-has-photo .uabb-imgicon-wrap {
	margin: 0;
	border-radius: var(--radius-xxs);
	overflow: hidden;
}

/* on passe le padidng sur les elements enfants */
.a71-rangee-card-item > .fl-module-content > .uabb-module-content.infobox-has-photo .uabb-infobox-title-wrap {
	padding: 16px 16px 0 16px;
}
.a71-rangee-card-item > .fl-module-content > .uabb-module-content.infobox-has-photo .uabb-infobox-text-wrap {
	padding: 0px 16px 16px 16px;
}
/* ========================
2. CONTEXTE RANGÉE
Uniquement pour les cartes dans .a71-rangee-card
======================== */

.a71-rangee-card .fl-col {
	display: flex;
}

.a71-rangee-card .fl-col-content {
	display: flex;
	width: 100%;
}


/* ========================
3. MODULE CTA UABB
======================== */

.a71-rangee-card-item .uabb-cta-wrap {
	display: flex;
	flex-direction: column;
	flex: 1;
	width: 100%;
	flex-direction: column;
	justify-content: flex-end;
	align-self: flex-end;
}

/* Le bloc texte prend l’espace disponible */
.a71-rangee-card-item .uabb-cta-text {
	flex: 1 1 auto;
}

/* Variante carte sans titre */
.a71-rangee-card-item.item-sans-titre .uabb-cta-text {
	display: none;
}

/* INFO BOX */
.a71-rangee-card-item.item-sans-titre .uabb-infobox-title-wrap {
	display: none;
}

/* Le bouton descend en bas */
.a71-rangee-card-item .uabb-cta-button {
	margin-top: auto;
	padding-top: 0;
}


/* ========================
4. MODULE INFO BOX UABB
======================== */

.a71-rangee-card-item .uabb-infobox,
.a71-rangee-card-item .uabb-infobox-left-right-wrap,
.a71-rangee-card-item .uabb-infobox-content {
	display: flex;
	flex: 1;
	width: 100%;    
	overflow: hidden;

}

.a71-rangee-card-item .uabb-infobox-content {
	flex-direction: column;
	justify-content: flex-end;
	align-self: flex-end;
}

/* Le texte prend l’espace disponible */
.a71-rangee-card-item .uabb-infobox-text-wrap {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

/* Le bouton descend en bas */
.a71-rangee-card-item .uabb-infobox-button {
	margin-top: auto;
	padding-top: 0;
}


/* ========================
5. BOUTONS CTA + INFO BOX
Style commun
======================== */

.a71-rangee-card-item .uabb-cta-button .uabb-module-content a,
.a71-rangee-card-item .uabb-infobox-button .uabb-module-content a,
.a71-rangee-card-item .uabb-cta-button .uabb-module-content a:visited,
.a71-rangee-card-item .uabb-infobox-button .uabb-module-content a:visited,
.a71-rangee-card-item .uabb-cta-button .uabb-module-content a:active,
.a71-rangee-card-item .uabb-infobox-button .uabb-module-content a:active,
.a71-rangee-card-item .uabb-cta-button .uabb-module-content a:focus,
.a71-rangee-card-item .uabb-infobox-button .uabb-module-content a:focus,
.a71-rangee-card-item .uabb-cta-button .uabb-module-content a:focus-visible,
.a71-rangee-card-item .uabb-infobox-button .uabb-module-content a:focus-visible {
	display: inline-flex;
	align-items: center;
	/*gap: 8px;*/

	background-color: transparent !important;
	border: 0 solid var(--couleur-principale) !important;
	border-radius: var(--radius-cta-principal) !important;
	padding: 0;

	text-decoration: none;
	transition: color 300ms linear;
}

/* Focus clavier accessible */
.a71-rangee-card-item .uabb-cta-button .uabb-module-content a:focus-visible,
.a71-rangee-card-item .uabb-infobox-button .uabb-module-content a:focus-visible {
	outline: 3px solid var(--couleur-principale) !important;
	outline-offset: 4px;
}

/* Texte des boutons */
.a71-rangee-card-item .uabb-cta-button .uabb-module-content a span,
.a71-rangee-card-item .uabb-infobox-button .uabb-module-content a span {
	font-family: var(--typo-principale);
	font-weight: var(--semi-bold);
	color: inherit;
	text-transform: initial;
	transition: color 300ms linear;
}

/* Icône des boutons */
.a71-rangee-card-item .uabb-cta-button .uabb-module-content a .uabb-button-icon,
.a71-rangee-card-item .uabb-infobox-button .uabb-module-content a .uabb-button-icon {
	display: inline-flex;
	align-items: center;
	font-size: 14px;
	color: inherit !important;
	transition: color 300ms linear, transform 300ms linear;
}

/* Hover bouton */
.a71-rangee-card-item .uabb-cta-button .uabb-module-content a:hover span,
.a71-rangee-card-item .uabb-infobox-button .uabb-module-content a:hover span {
	color: inherit !important;
}

.a71-rangee-card-item .uabb-cta-button .uabb-module-content a:hover .uabb-button-icon,
.a71-rangee-card-item .uabb-infobox-button .uabb-module-content a:hover .uabb-button-icon {
	transform: translateX(3px);
}


/* ========================
6. INFO BOX CLIQUABLE
Animation uniquement si la carte a un lien global
======================== */

.a71-rangee-card-item:has(.uabb-infobox-module-link) .uabb-infobox-content {
	transition: transform 300ms ease;
}

.a71-rangee-card-item:has(.uabb-infobox-module-link):hover .uabb-infobox-content,
.a71-rangee-card-item:has(.uabb-infobox-module-link):focus-within .uabb-infobox-content {
	transform: translateY(-2px);
}

/* Si la carte n’est pas cliquable, pas d’effet global */
.a71-rangee-card-item:not(:has(.uabb-infobox-module-link)):hover .fl-module-content {
	box-shadow: none;
}


/* ========================
7. ACCESSIBILITÉ
Réduction des animations
======================== */

@media (prefers-reduced-motion: reduce) {
	.a71-rangee-card-item .fl-module-content,
	.a71-rangee-card-item .uabb-infobox-content,
	.a71-rangee-card-item .uabb-module-content a,
	.a71-rangee-card-item .uabb-module-content a span,
	.a71-rangee-card-item .uabb-button-icon {
		transition: none !important;
	}

	.a71-rangee-card-item .uabb-infobox-content,
	.a71-rangee-card-item .uabb-button-icon {
		transform: none !important;
	}
}
/* ========================
RANGÉES POUR PAGE INTERNE
======================== */
/* ==============================
   Beaver Builder - Post Carousel
   Base custom
================================= */

/* Container global */
.fl-post-carousel-grid {
	position: relative;
	padding: 0 66px !important;
}

/* Navigation */
.fl-post-carousel-grid .fl-post-carousel-navigation {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

/* Boutons précédent / suivant */
.fl-post-carousel-grid .carousel-prev,
.fl-post-carousel-grid .carousel-next {
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--couleur-principale, #F0264A);
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* SVG des flèches */
.fl-post-carousel-grid .fl-post-carousel-svg-container {
	width: 18px;
	height: 18px;
	display: flex;
}

.fl-post-carousel-grid .fl-post-carousel-svg-container svg {
	width: 100%;
	height: 100%;
	fill: currentColor;
}

/* Wrapper bxSlider */
.fl-post-carousel-grid .bx-wrapper {
	max-width: none !important;
	margin: 0 auto;
}

/* Zone visible */
.fl-post-carousel-grid .bx-viewport {
	overflow: hidden;
}

/* Liste des slides */
.fl-post-carousel-grid .fl-post-carousel-wrapper {
	margin: 0;
	padding: 0;
}

/* Item / carte */
.fl-post-carousel-grid .fl-post-carousel-post {
	box-sizing: border-box;
	background: #fff;
	border-radius: var(--radius-cta-principal);
	overflow: hidden;
	box-shadow: none;
	border: 0;
}

/* Zone texte */
.fl-post-carousel-grid .fl-post-carousel-text {
	padding: 32px;
}

/* Titre */
.fl-post-carousel-grid .fl-post-carousel-title {
	margin: 0 0 12px;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	line-height: 1.2;
}

/* Lien du titre */
.fl-post-carousel-grid .fl-post-carousel-title a {
	color: var(--couleur-secondaire, #303041);
	text-decoration: none;
}

/* Hover titre */
.fl-post-carousel-grid .fl-post-carousel-title a:hover,
.fl-post-carousel-grid .fl-post-carousel-title a:focus-visible {
	color: var(--couleur-principale, #F0264A);
}

/* Extrait */
.fl-post-carousel-grid .fl-post-carousel-content {
	font-size: 0.95rem;
	line-height: 1.55;
	color: #555;
}

.fl-post-carousel-grid .fl-post-carousel-content p {
	margin: 0;
}