/* ==========================================================================
   PROGRAMMES - FILTRES
   ========================================================================== */

.innn-programmes-filtres {
	margin-bottom: 32px;
}

.innn-programmes-filtres__groups {
	display: flex;
	flex-wrap: wrap;
	gap: 24px 32px;
	margin-bottom: 24px;
}

.innn-programmes-filtres__group {
	margin: 0;
}

.innn-programmes-filtres__label {
	margin: 0 0 10px;
	font-family: var(--typo-principale);
	font-size: 14px;
	font-weight: var(--bold);
	line-height: 1.4;
	color: var(--couleur-secondaire);
}

.innn-programmes-filtres__choices {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.innn-programmes-filtres__choices .checkbox {
	display: inline-flex;
	margin: 0;
}

.innn-programmes-filtres__choices .checkbox label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 16px;
	border: 1px solid var(--couleur-secondaire);
	border-radius: 2px;
	background-color: transparent;
	color: var(--couleur-secondaire);
	font-family: var(--typo-principale);
	font-size: 14px;
	font-weight: var(--regular);
	line-height: 1.6;
	cursor: pointer;
	user-select: none;
	transition:
		background-color 160ms ease,
		color 160ms ease,
		border-color 160ms ease;
}

.innn-programmes-filtres__choices input[type="checkbox"] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.innn-programmes-filtres__choices .checkbox label:hover {
	background-color: rgba(var(--couleur-secondaire-rgb), 0.06);
}

.innn-programmes-filtres__choices .checkbox label:has(input[type="checkbox"]:focus-visible) {
	outline: 2px solid var(--couleur-secondaire);
	outline-offset: 3px;
}

.innn-programmes-filtres__choices .checkbox label:has(input[type="checkbox"]:checked) {
	background-color: var(--couleur-4);
	color: var(--blanc);
	border-color: var(--couleur-4);
}


/* ==========================================================================
   PROGRAMMES - BOUTON FILTRE
   ========================================================================== */

.innn-programmes-filtres__submit {
	display: inline-flex;
	align-items: center;
}

.innn-programmes-filtres__submit .fl-module-content {
	margin: 0 !important;
}

.innn-programmes-filtres__submit.cta-secondaire .uabb-module-content button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 24px;
	border: 1px solid var(--couleur-secondaire) !important;
	border-radius: var(--radius-cta-principal) !important;
	background-color: var(--couleur-secondaire);
	color: var(--blanc);
	cursor: pointer;
	appearance: none;
	box-shadow: none;
	transition:
		background-color 300ms linear,
		border-color 300ms linear,
		color 300ms linear;
}

.innn-programmes-filtres__submit.cta-secondaire .uabb-module-content button span {
	font-family: var(--typo-principale);
	font-weight: var(--bold);
	color: var(--blanc);
	text-transform: initial;
}

.innn-programmes-filtres__submit.cta-secondaire .uabb-module-content button .uabb-button-icon {
	color: var(--blanc);
	font-size: 12px;
	line-height: 1;
	transition: transform 200ms ease;
}

.innn-programmes-filtres__submit.cta-secondaire .uabb-module-content button:hover .uabb-button-icon,
.innn-programmes-filtres__submit.cta-secondaire .uabb-module-content button:focus-visible .uabb-button-icon {
	transform: translateX(3px);
}

.innn-programmes-filtres__submit.cta-secondaire .uabb-module-content button:focus-visible {
	outline-width: 3px !important;
	outline-offset: 3px;
}


/* ==========================================================================
   PROGRAMMES - LISTE / CARTES
   ========================================================================== */

.innn-programme--list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.innn-programme-card {
	width: auto;
	min-width: 0;
}

.innn-programme-card .uabb-blog-posts-shadow {
	height: 100%;
	overflow: hidden;
	border-radius: 8px;
	background: var(--couleur-bg);
}

.innn-programme-card .uabb-blog-post-inner-wrap {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.innn-programme-card__content {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 24px;
}

.innn-programme-card__terms,
.innn-programme-card__terms .js-wpv-view-layout,
.innn-programme-card__terms .innn-programme-types {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.innn-programme-card__terms {
	margin-bottom: 16px;
}

.innn-programme-card .cat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	max-width: 100%;
	margin: 0 0 8px !important;
	padding: 7px 12px;
	border: 0;
	border-radius: 8px;
	background-color: var(--couleur-5);
	color: var(--couleur-secondaire);
	font-family: var(--typo-secondaire);
	font-size: 12px;
	font-weight: var(--regular);
	line-height: 1.25;
	text-decoration: none;
}

.innn-programme-card__title h3 {
	margin: 0;
}

.innn-programme-card__title a {
	color: inherit;
	text-decoration: none;
}

.innn-programme-card__excerpt {
	margin-bottom: 24px;
}

.innn-programme-card__excerpt p {
	margin: 0;
}

.innn-programme-card__meta {
	display: grid;
	gap: 12px;
	margin-bottom: 32px;
}

.innn-programme-card__meta-item {
	display: grid;
	gap: 2px;
}

.innn-programme-card__meta-label {
	font-family: var(--typo-secondaire);
	font-size: 12px;
	text-transform: uppercase;
	opacity: 0.6;
}

.innn-programme-card__meta-value {
	font-family: var(--typo-principale);
	font-size: var(--size-contenu-2);
	font-weight: var(--regular);
	line-height: calc(var(--size-contenu-2) + 4px);
	color: var(--couleur-secondaire);
}

.innn-programme-card__actions {
	display: flex;
	align-items: center;
	margin-top: auto;
}

.innn-programme-card__actions a {
	color: var(--couleur-secondaire);
	text-decoration: none;
}

.innn-programme-card__actions a:hover,
.innn-programme-card__actions a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}


/* ==========================================================================
   SINGLE PROGRAMME - IMAGE PRINCIPALE
   ========================================================================== */

.innn-programme-detail .fl-photo {
	margin-bottom: 32px;
}

.innn-programme-detail .fl-photo-content {
	width: 100%;
	max-height: 420px;
	overflow: hidden;
	border-radius: 4px;
}

.innn-programme-detail .fl-photo-img {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: contain;
	object-position: center;
}


/* ==========================================================================
   SINGLE PROGRAMME - SECTIONS DE CONTENU
   ========================================================================== */

.innn-programme-detail__section {
	margin-bottom: 32px;
}

.innn-programme-detail__section-title {
	font-family: var(--typo-secondaire);
	font-size: 12px;
	text-transform: uppercase;
	opacity: 0.6;
}

.innn-programme-detail__section-content {
	font-family: var(--typo-principale);
	font-size: var(--size-contenu-2);
	font-weight: var(--regular);
	line-height: calc(var(--size-contenu-2) + 4px);
	color: var(--couleur-secondaire);
}

.innn-programme-detail__section-content p {
	margin: 0;
}


/* ==========================================================================
   SINGLE PROGRAMME - INTERVENANTS LIÉS
   ========================================================================== */

.innn-programme-detail .innn-speakers-grid--programme-detail {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin-top: 20px;
}

.innn-programme-detail .innn-speaker-card--compact {
	width: 100%;
	padding: 14px 16px;
	border-radius: 8px;
	background: var(--couleur-bg);
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__main {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__image {
	width: 64px;
	height: 64px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--blanc);
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	padding: 4px;
	border-radius: 50%;
	object-fit: contain;
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__content {
	min-width: 0;
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__name {
	margin: 0 0 2px !important;
	color: var(--couleur-secondaire);
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__meta {
	display: grid;
	gap: 2px;
	margin: 0;
	padding: 2px 0;
	font-family: var(--typo-secondaire);
	font-size: 12px;
	font-weight: var(--regular);
	color: var(--couleur-secondaire);
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__job,
.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__company {
	display: block;
	line-height: 1.35;
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__company::before {
	content: none !important;
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__company a {
	color: var(--couleur-principale);
	text-decoration: none;
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__company a:hover,
.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__company a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__social {
	margin-top: 8px;
	font-size: 14px;
	line-height: 1;
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__social a {
	color: var(--couleur-secondaire);
	text-decoration: none;
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__social a:hover,
.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__social a:focus-visible,
.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__social a:hover > *,
.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__social a:focus-visible > * {
	color: var(--couleur-principale);
	text-decoration: none;
}

.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__programmes {
	display: none;
}


/* ==========================================================================
   NETTOYAGE TOOLSET / WORDPRESS / BEAVER
   ========================================================================== */

.innn-programme-card p:empty,
.innn-programmes-filtres p:empty,
.innn-programme-card__meta-value p:empty,
.innn-programme-card__terms p:empty,
.innn-programme-detail .innn-speaker-card p:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.innn-programme-card__terms br,
.innn-programme-detail .innn-speakers-grid--programme-detail br,
.innn-programme-detail .innn-speaker-card br,
.innn-programme-detail .innn-speaker-card__meta br,
.innn-programme-detail .innn-speaker-card__social br {
	display: none !important;
}

.innn-programme-detail .innn-speaker-card .js-wpv-view-layout {
	margin: 0;
}


/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

/* Tablette */
@media (max-width: 1024px) {
	.innn-programme--list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}
}

/* Mobile */
@media (max-width: 768px) {
	.innn-programme--list {
		grid-template-columns: 1fr;
	}

	.innn-programme-detail .fl-photo-content {
		max-height: 300px;
	}

	.innn-programme-detail .fl-photo-img {
		height: 300px;
	}
}

/* Petit mobile */
@media (max-width: 480px) {
	.innn-programme-card__content {
		padding: 20px;
	}

	.innn-programme-detail .fl-photo-content {
		max-height: 220px;
	}

	.innn-programme-detail .fl-photo-img {
		height: 220px;
	}

	.innn-programme-detail .innn-speaker-card--compact {
		padding: 12px;
	}

	.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__main {
		grid-template-columns: 52px minmax(0, 1fr);
		gap: 12px;
	}

	.innn-programme-detail .innn-speaker-card--compact .innn-speaker-card__image {
		width: 52px;
		height: 52px;
	}
}