/*
Theme Name: Gutzilla
Theme URI: web-ia.com
Author: Boris Billy
Author URI: web-ia.com
Description: WEB IA starter theme
Tags: blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks
Tested up to: 6.6
Requires PHP: 7.3
Version: 1.0.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gutzilla

Gutzilla WordPress Theme, (C) 2024 Boris Billy.
Gutzilla is distributed under the terms of the GNU GPL.
*/

/* CSS Reset
---------------------------------------------------------------------------- */

:root {
	--plyr-color-main: var(--wp--preset--color--primary);
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	scroll-behavior: smooth;
	box-sizing: border-box;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

b,
strong {
	font-weight: var(--wp--custom--font-weight--semi-bold);
}

/* Bodoni Moda (font-family--primary) est une police variable avec un axe
   optique (opsz) : on le fixe à "9pt" (coupe fine de la maquette Figma)
   partout où elle s'applique, au lieu de laisser le navigateur choisir
   automatiquement une coupe selon la taille de rendu. */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-optical-sizing: none;
	font-variation-settings: "opsz" 9;
}

@media (width <=781px) {
	h1 {
		line-height: 44px;
	}
}

.menu-item-text,
.wp-block-button-obf.site-footer_contact-button,
a[href^="tel:"] {
	font-family: var(--wp--preset--font-family--primary);
	font-optical-sizing: none;
	font-variation-settings: "opsz" 9;
}

.footer-legal-menu,
.footer-legal-menu a,
.footer-legal-menu p {
	font-family: var(--wp--preset--font-family--secondary);
	font-optical-sizing: auto;
	font-variation-settings: normal;
}

.primary-menu .menu-item-text {
	font-family: var(--wp--preset--font-family--secondary);
	font-optical-sizing: auto;
	font-variation-settings: normal;
}

ol,
ul {
	padding: 0;
}

ol:where(:not([class*="wp-block"])),
ol:where(.wp-block-list),
ul:where(:not([class*="wp-block"])),
ul:where(.wp-block-list) {
	padding-inline-start: var(--wp--preset--spacing--medium);
}

body#tinymce.wp-editor ol:where(:not([class*="wp-block"])),
body#tinymce.wp-editor ol:where(.wp-block-list),
body#tinymce.wp-editor ul:where(:not([class*="wp-block"])),
body#tinymce.wp-editor ul:where(.wp-block-list) {
	padding-left: 1em !important;
	padding-inline-start: 1.5em !important;
}

div[class*="wp-block-"] figcaption {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--x-small);
	margin-bottom: 0;
	margin-top: 20px;
	text-align: center;
}

img,
figure {
	max-width: 100%;
	height: auto;
}

/* 
:root :where(.is-layout-constrained)>*,
:root :where(.editor-styles-wrapper) :where(.is-layout-constrained)>* {
	margin-block-start: 0;
} */

.acf-block-component {
	padding: 0 !important;
}

/* Standardize form styling
--------------------------------------------- */

input,
button,
textarea,
select {
	font: inherit;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
}

input:not([type="submit"]),
select,
textarea,
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]),
.wp-block-post-comments-form textarea {
	color: var(--wp--preset--color--main);
	border-radius: 5px;
	border: solid 1px var(--wp--preset--color--main-accent);
	padding: .5em 1em;
	font-size: var(--wp--preset--font-size--small);
}

input:focus-visible,
textarea:focus-visible {
	outline-color: var(--wp--preset--color--primary);
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

label {
	width: 100%;
	display: block;
}

::placeholder {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.75;
}

/* Helper styles that can't be done via theme.json
---------------------------------------------------------------------------- */

a.more-link {
	display: block;
}

/* Inline code */
*:not(.wp-block-code)>code {
	background-color: var(--wp--preset--color--tertiary);
	font-weight: var(--wp--custom--font-weight--medium);
	;
	padding: 3px 5px;
	position: relative;
	border-radius: 3px;
}

/* Adjust terms at bottom of posts */
.single .wp-block-group .wp-block-post-terms,
.blog .wp-block-group .wp-block-post-terms {
	margin-bottom: -8px !important;
}

/* Remove margin on term description on archive pages */
.wp-block-term-description p:last-child {
	margin-bottom: 0;
}

/* Remove last separator on post list */
.remove-border-and-padding .wp-block-post-template li:last-child .wp-block-separator {
	display: none;
}

/* Hide post meta div if no tags assigned */
.single .wp-block-group:has(> .post-meta:empty) {
	display: none;
}

.wp-block-group:empty:has(+ .comment-respond) {
	display: none;
}

.row-logos>figure {
	flex-shrink: 1 !important;
}

@media (max-width: 781px) {
	.gutzilla-hide-on-mobile {
		display: none;
	}
}


/* 1 - Header */
body {
	&.has-top-bar {
		position: relative;

		#header_bar,
		main.site-content {
			transition: all 300ms ease-in-out;
		}
	}
}

.js-close {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 10;
	margin: 0 auto;
	width: 100px;
	border: none;
	background-color: rgba(255, 255, 255, 0.25);
	border-radius: 0 0 6px 6px;
	color: #fff;
	transition: all 300ms ease-in-out;
	font-size: var(--wp--preset--font-size--small);

	&:hover {
		cursor: pointer;
		background-color: rgba(255, 255, 255, 0.35);
	}

	&.active {
		opacity: .4;

		&:hover {
			opacity: 1;
		}
	}
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--colors_design_system-white, #FFF);

	@media (width <=1200px) {
		box-shadow: 0 48px 13px 0 rgba(0, 0, 0, 0.00), 0 30px 12px 0 rgba(0, 0, 0, 0.00), 0 17px 10px 0 rgba(0, 0, 0, 0.00), 0 8px 8px 0 rgba(0, 0, 0, 0.01), 0 2px 4px 0 rgba(0, 0, 0, 0.01);
	}

	body.menu-visible & {
		background-color: var(--wp--preset--color--secondary);

		>div {
			background-color: var(--wp--preset--color--secondary) !important;
		}
	}

	#top_bar {
		.is-style-level3 {

			a {
				font-size: var(--wp--preset--font-size--x-small);
				color: inherit;
			}
		}
	}

	.header__navigation {
		.wp-block-navigation__container {
			margin: 0 auto;

			.current-menu-item {
				>a {
					color: var(--wp--preset--color--primary);
					text-decoration: none;
				}
			}
		}
	}
}

@media (width <=781px) {
	.site-header {
		.header__navigation {
			justify-content: flex-end;

			.wp-block-buttons {
				justify-content: flex-start;
			}
		}

		.header-buttons {
			display: none;
		}
	}
}

@media (width <=1400px) {
	.site-header {
		padding-left: 24px;
		padding-right: 24px;
		padding-bottom: 16px;
	}
}

@media (width > 1200px) {
	.header-boutons {
		.wp-block-button__link {
			padding: 16px 24px;
			font-weight: 700;
			font-size: 16px;
		}
	}
}

@media (width <=1200px) {
	.header-logo__desktop {
		padding-top: 0;

		img {
			max-width: 55px;
		}
	}
}

.header-logo__desktop {
	padding-top: 16px;
}

.header-logo__mobile {
	display: none;
	margin-top: 0;

	img {
		border-radius: 0 !important;
	}
}

@media (width <=1200px) {
	body.menu-visible {
		.header-logo__desktop {
			display: none;
		}

		.header-logo__mobile {
			margin-top: 16px;
			display: block;
		}
	}
}

/* 2 - Footer */
.site-footer_logo-bottom {
	position: relative;
	z-index: 1;
	margin-top: -144px;
}

.site-footer_menu-top {
	position: relative;
	z-index: 2;
}

.footer-logo img {
	border-radius: 0 !important;
}

footer a[href^="tel:"] {
	text-decoration: none;
}

.site-footer_contact-button {
	width: 100%;

	.wp-block-button__link {
		width: 100%;
		margin-top: 16px;
		font-size: 32px;
		padding: 10px 16px;
		display: flex;
		align-items: center;
		justify-content: space-between;

		&:after {
			content: '';
			display: inline-block;
			width: 24px;
			height: 24px;
			flex-shrink: 0;
			margin-left: 16px;
			background-repeat: no-repeat;
			background-size: contain;
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M21.0139 1.08153C21.2434 1.00147 21.4883 0.978334 21.7278 1.01415L21.8323 1.03368L21.9348 1.06005C22.1383 1.12083 22.3262 1.22463 22.4866 1.36376L22.5647 1.43602L22.637 1.51317C22.776 1.67343 22.8789 1.86169 22.9397 2.06493L22.967 2.16845L22.9866 2.27294C23.0222 2.51183 22.9979 2.75591 22.9182 2.98485L22.9192 2.98583L16.4192 21.9858V21.9868C16.3199 22.2761 16.1345 22.5285 15.8879 22.7095C15.6412 22.8905 15.3443 22.9917 15.0383 22.9995C14.7326 23.0073 14.4316 22.9214 14.176 22.7534C13.9522 22.6062 13.7723 22.4017 13.6545 22.1626L13.6077 22.0581L10.428 14.1274L10.386 14.0356C10.3391 13.9465 10.2788 13.8649 10.2073 13.7934C10.1117 13.6981 9.99763 13.6229 9.87232 13.5727V13.5718L1.94166 10.3921C1.65776 10.2782 1.41549 10.0802 1.24732 9.8247C1.07913 9.56899 0.993389 9.26738 1.00123 8.96141L1.00806 8.84716C1.0352 8.5822 1.13288 8.32863 1.29126 8.11278L1.36158 8.02294C1.53513 7.82068 1.76052 7.66843 2.01392 7.58153V7.58055L21.0139 1.08056V1.08153ZM12.2063 13.2056C12.2121 13.2176 12.2183 13.2295 12.2239 13.2417L12.2835 13.3804L12.2844 13.3823L14.9622 20.063L19.9602 5.45263L12.2063 13.2056ZM3.9358 9.03661L10.6145 11.7153H10.6155C10.675 11.7391 10.7336 11.7659 10.7913 11.7934L18.5471 4.03759L3.9358 9.03661Z' fill='%23411F07'/%3E%3C/svg%3E");
		}
	}
}

@media (width <=1200px) {
	footer>div:first-child {
		padding-top: 24px !important;
	}

	.site-footer_menu-top {
		flex-direction: column;
		gap: 30px;
	}

	.wp-block-column:has(>.menu-footer-1-container)+.wp-block-column:has(>.menu-footer-2-container) {
		margin-top: -30px;
	}

	.site-footer_logo-bottom {
		margin-top: 32px;

		.wp-block-image {
			display: none;
		}
	}

	.menu-item-desc {
		display: none;
	}

	.site-footer_contact-button {
		margin-bottom: 32px;
	}
}

.wp-pagenavi {
	text-align: center;
	margin: 0 0 1em 0;

	.pages {
		display: none;
	}

	span,
	a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: .4em .8em;
		margin: .5em;
		font-size: var(--wp--preset--font-size--x-small);
		text-decoration: none;
		border: solid 1px var(--wp--preset--color--main-accent);
		color: var(--wp--preset--color--secondary);
		background: transparent;
		transition: all 300ms ease-in-out;
		border-radius: 50%;
		width: 40px;
		height: 40px;
	}

	.current {
		background: var(--wp--preset--color--main);
		border-color: var(--wp--preset--color--main);
		color: var(--wp--preset--color--white);
	}

	a:hover {
		background: var(--wp--preset--color--main-accent);
		border-color: var(--wp--preset--color--main-accent);
		color: #fff !important;
		text-decoration: none;
	}
}

/* Listing blog uniquement (body.blog) : même style que la navigation
   précédent/suivant du single article (flèche SVG + texte gras, sans
   bordure ni cercle) — ne touche pas .wp-pagenavi ailleurs. */
body.blog .wp-pagenavi {
	position: relative;

	span,
	a {
		width: auto;
		height: auto;
		padding: 0;
		margin: 0 8px;
		border: none;
		border-radius: 0;
		font-size: 1rem;
		font-weight: var(--wp--custom--font-weight--bold);
		color: var(--wp--preset--color--secondary);
		background: transparent;
	}

	.current,
	a.page {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		margin: 0 8px;
		font-weight: var(--wp--custom--font-weight--regular);
	}

	.current {
		background-color: var(--wp--preset--color--primary);
		border-radius: 50%;
		font-weight: var(--wp--custom--font-weight--bold);
	}

	a:hover {
		background: transparent;
		border: none;
		color: var(--wp--preset--color--secondary) !important;
	}

	/* Masque le texte natif du plugin (« / ») pour le remplacer par un
	   libellé + la flèche SVG, comme sur le single article. */
	a.previouspostslink,
	a.nextpostslink {
		font-size: 0;
		width: auto;
		height: auto;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		margin: 0;
	}

	a.previouspostslink {
		left: 0;
	}

	a.nextpostslink {
		right: 0;
	}

	a.previouspostslink::before,
	a.nextpostslink::after {
		display: inline-flex;
		align-items: center;
		font-size: 1rem;
		font-weight: var(--wp--custom--font-weight--bold);
		color: var(--wp--preset--color--secondary);
		background-repeat: no-repeat;
		background-size: 14px;
	}

	a.previouspostslink::before {
		content: "Précédent";
		padding-left: 22px;
		background-position: left center;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M6.07741 0.244078C6.40285 -0.0813592 6.93036 -0.0813592 7.2558 0.244078C7.58123 0.569515 7.58123 1.09703 7.2558 1.42246L2.84499 5.83327H12.4999C12.9602 5.83327 13.3333 6.20637 13.3333 6.6666C13.3333 7.12684 12.9602 7.49994 12.4999 7.49994H2.84499L7.2558 11.9107L7.31276 11.9742C7.57972 12.3015 7.56089 12.784 7.2558 13.0891C6.9507 13.3942 6.4682 13.4131 6.14089 13.1461L6.07741 13.0891L0.244078 7.2558C-0.0813593 6.93036 -0.0813593 6.40285 0.244078 6.07741L6.07741 0.244078Z' fill='%23222B3F'/%3E%3C/svg%3E");
	}

	a.nextpostslink::after {
		content: "Suivant";
		padding-right: 22px;
		background-position: right center;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cg transform='translate(14,0) scale(-1,1)'%3E%3Cpath d='M6.07741 0.244078C6.40285 -0.0813592 6.93036 -0.0813592 7.2558 0.244078C7.58123 0.569515 7.58123 1.09703 7.2558 1.42246L2.84499 5.83327H12.4999C12.9602 5.83327 13.3333 6.20637 13.3333 6.6666C13.3333 7.12684 12.9602 7.49994 12.4999 7.49994H2.84499L7.2558 11.9107L7.31276 11.9742C7.57972 12.3015 7.56089 12.784 7.2558 13.0891C6.9507 13.3942 6.4682 13.4131 6.14089 13.1461L6.07741 13.0891L0.244078 7.2558C-0.0813593 6.93036 -0.0813593 6.40285 0.244078 6.07741L6.07741 0.244078Z' fill='%23222B3F'/%3E%3C/g%3E%3C/svg%3E");
	}
}

/* Card defaut */

.card-default {
	border: none;
	overflow: hidden;
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	background-color: #fff;

	.card-header {
		text-align: center;
		padding: 0;

		img {
			max-height: 250px;
			width: 100%;
			object-fit: cover;
			aspect-ratio: 4/3;
			margin: 0 auto;
		}
	}

	.card-body {
		padding: 0;
		flex: 1 1 auto;
	}

	.card-footer {
		padding: 0;
	}
}

/* Card actu */

.card-actu {
	border: solid 1px var(--wp--preset--color--main-accent);
	border-radius: 8px;
	overflow: hidden;
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;

	.card-header {
		text-align: center;
		padding: 0;

		img {
			max-height: 250px;
			width: 100%;
			margin: 0 auto;
			text-align: center;
			object-fit: cover;
		}
	}

	.card-body {
		padding: 0 1.5em 1em;
		flex: 1 1 auto;

		.card-actu__texte {
			-webkit-line-clamp: 3;
			-webkit-box-orient: vertical;
			display: -webkit-box;
			overflow: hidden;
		}
	}

	.card-footer {
		background-color: var(--wp--preset--color--main-accent);
		padding: 1em 1.5em;
	}
}

/* card icon */
.card-icon {
	display: flex;
	flex-direction: column;
	background-color: transparent;
	padding: 0;
	min-width: inherit;
	border: none;

	@media(width < 781px) {

		.card-header {
			flex: 100px 0 0;
			margin-right: 0;
		}
	}

	.card-header {
		.card-header__icon {
			width: 140px;
			height: 140px;
			margin: 0 auto;
			padding: 0;
			display: flex;
			align-items: center;
			justify-content: center;

			img {
				width: auto;
				height: auto;
			}
		}
	}

	.card-body {
		text-align: center;
		padding: 0;
		font-size: 1.125rem;
		margin-top: 10px;
		/* @media(max-width: 781px) {
			text-align: left;
		} */

		.card-icon__titre {
			font-weight: 700;
			font-size: 1.125rem;
			color: var(--wp--preset--color--primary);
			margin: 0 0 5px;
		}

		.card-icon__texte {
			margin: 0;
			line-height: var(--wp--custom--line-height--snug);

			@media(width < 768px) {
				font-size: 1.125rem;
			}
		}
	}

}

/* card maillage */
.card-maillage {
	position: relative;
	aspect-ratio: 1/1;
	width: 280px;
	height: 280px;
	background-color: var(--wp--preset--color--secondary);
	overflow: hidden;
	border: none;
	padding: 0;

	@media(width < 991px) {
		width: 100%;
		height: auto;
	}

	.card-body {
		position: absolute;
		z-index: 1;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: rgba(255, 172, 102, 0.6);

		a {
			color: #fff;
			align-items: center;
			font-family: var(--wp--preset--font-family--secondary);
			font-size: 1.3125rem;
			font-weight: 400;
			padding: 0;

			span {
				align-items: center;

				&:before {
					display: none;
				}
			}
		}
	}

	.card-bg {
		position: absolute;
		z-index: 0;
		height: 100%;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;

		img {
			height: 100%;
			object-fit: cover;
			transition: all 300ms ease-in-out;

			@media(width < 991px) {
				aspect-ratio: 1/1;
			}
		}
	}

	&:hover {
		.card-bg {
			img {
				scale: 1.05;
			}
		}

	}
}

/* card big card */
.card-secondaire {
	border: none;
	padding: 0;
	min-width: none;
	max-width: none;
	min-height: 483px;
	height: 100%;
	background-color: var(--wp--preset--color--secondary);
	background-position: center;
	background-repeat: no-repeat;
	transition: all 300ms ease-in-out;
	position: relative;
	overflow: hidden;

	@media(width < 767px) {
		min-height: 242px;
		background-size: cover;
	}

	.card-secondaire__wrap {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-end;
		background: linear-gradient(360deg, #1E2034 0%, rgba(30, 32, 52, 0) 54.66%);
		padding: 50px 50px 46px;
		height: 100%;
		position: relative;
		z-index: 1;

		@media(width < 767px) {
			padding: 20px 20px 30px;
			background: linear-gradient(360deg, #1E2034 0%, rgba(30, 32, 52, 0) 68%);
		}

		.card-body {
			color: #fff;
			text-align: center;
			flex: auto 0 0;
		}
	}

	.card-secondaire__titre {
		color: #fff;
		font-size: 1.6875rem;
		margin: 0;
		font-weight: var(--wp--custom--font-weight--light);

		a {
			color: #fff;
			text-decoration: none;

			&:hover {
				text-decoration: none;
			}
		}
	}

	.card-secondaire__texte {
		margin: 0;
		line-height: var(--wp--custom--line-height--snug);

		@media(width < 767px) {
			display: none;
		}
	}

	.card-footer {
		padding: 14px 0 0;
		z-index: 1;
	}

	.card-secondaire__image {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 100%;

		img {
			height: 100%;
			width: 100%;
			object-fit: cover;
			transition: all 300ms ease-in-out;

		}
	}

	&:hover {
		.card-secondaire__image {
			img {
				transform: scale(1.05);
			}
		}
	}
}

/* Menu liste */
.menu__list {
	list-style: none;
	padding: 0;
	margin: 0;

	li {
		margin: 5px 0;

		a {
			text-decoration: none;

			&:hover {
				text-decoration: underline;
				color: var(--wp--preset--color--base);
			}
		}
	}
}

/* card programme / lotissement (Appartement / Terrain) */

.card-programme {
	border: none;
	overflow: hidden;
	position: relative;
	height: 100%;
	min-height: 363px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	background-color: #F1F6FD;
	border-radius: 12px;
	padding: 32px;
}

.card-programme .card-programme__row {
	display: flex;
	align-items: stretch;
	gap: 24px;
	flex: 1 1 auto;
	min-height: 0;
}

.card-programme .card-programme__row-image {
	flex: 0 0 247px;
	width: 247px;
}

.card-programme .card-programme__row-content {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.card-programme .card-programme__header {
	padding: 0;
}

.card-programme .card-programme__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.card-programme .badge {
	display: inline-flex;
	align-items: center;
	border-radius: 4px;
	padding: 4px 8px;
	font-size: var(--wp--preset--font-size--base);
	font-weight: var(--wp--custom--font-weight--regular);
	line-height: 20px;
}

.card-programme .badge--type {
	background-color: var(--wp--preset--color--primary);
	color: #411C09;
	text-transform: uppercase;
}

.card-lotissement .badge--type {
	background-color: #9D7642;
	color: #FFFFFF;
}

.card-programme .badge--typologies {
	background-color: #DCD4AB;
	color: #411C09;
}

.card-programme .badge--prix {
	background-color: var(--wp--preset--color--light-blue);
	color: var(--wp--preset--color--secondary);
}

.card-programme .card-programme__image {
	width: 247px;
	height: 247px;
	aspect-ratio: auto;
	object-fit: cover;
	border-radius: 12px;
}

.card-programme .card-body {
	padding: 0;
	flex: 1 1 auto;
}

.card-programme .card-programme__ville {
	margin: 0 0 16px;
	font-size: 16px;
	font-weight: 400;
	color: var(--wp--preset--color--dark-blue);
	letter-spacing: .15;
}

.card-programme .card-programme__titre {
	font-family: var(--wp--preset--font-family--primary);
	font-size: clamp(24px, 2vw + 1rem, 45px);
	font-weight: 600;
	line-height: 1.15;
	margin: 0 0 .5em;
}

.card-programme .card-programme__titre a {
	color: inherit;
	text-decoration: none;
}

.card-programme .card-programme__texte {
	margin: 0;
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--base);
	line-height: 24px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.card-programme .card-footer {
	padding: 0;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-top: auto;
}

.card-programme .card-footer .card-programme__texte {
	min-width: 0;
}

.card-programme .card-programme__arrow {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: transparent;
	color: var(--wp--preset--color--secondary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-left: auto;
}

.card-programme--featured .card-programme__arrow {
	background-color: var(--wp--preset--color--primary);
}

/* card programme — variante "featured" (1re et 6e position de la grille) */
.card-programme--featured {
	height: auto;
	flex-direction: column;
	background-color: var(--wp--preset--color--primary-light);
	padding: 32px;
	border-radius: 24px;
	overflow: hidden;
}

.card-programme--featured .card-programme__featured-row {
	display: flex;
	align-items: stretch;
	height: 523px;
	border-radius: 16px;
	overflow: hidden;
}

.card-programme--featured .card-programme__featured-image {
	flex: 0 0 591px;
	width: 591px;
	max-width: 591px;
}

.card-programme--featured .card-programme__image {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
}

.card-programme--featured .card-programme__featured-body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 0 0 0 24px;
	background-color: var(--wp--preset--color--cream);
}

.card-programme--featured .card-programme__ville {
	margin: 0 0 .25em;
}

.card-programme--featured .card-programme__titre {
	margin: 0;
}

.card-programme--featured .card-programme__featured-footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-top: auto;
}

.card-programme--featured .card-programme__featured-footer .card-programme__texte {
	min-width: 0;
}

.card-programme--featured .card-programme__texte {
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media(width < 1200px) {
	.card-programme--featured .card-programme__featured-image {
		flex: 0 0 50%;
		width: 50%;
		max-width: 50%;
	}
}

@media(width < 768px) {
	.card-programme .card-programme__row {
		flex-direction: column;
	}

	.card-programme .card-programme__image {
		width: 100%;
	}

	.card-programme--featured .card-programme__featured-row {
		flex-direction: column;
		height: auto;
	}

	.card-programme .card-programme__row-image,
	.card-programme--featured .card-programme__featured-image {
		flex-basis: auto;
		width: 100%;
		max-width: 100%;
	}

	.card-programme--featured .card-programme__image {
		aspect-ratio: 4/3;
		height: auto;
	}
}

.card-programme--cta {
	background-color: var(--wp--preset--color--base);
	padding: 32px;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
	height: 100%;
	min-height: 363px;
}

.card-programme__cta-titre {
	font-family: var(--wp--preset--font-family--primary);
	font-size: 32px;
	line-height: 1.2;
	margin: 0 0 .5em;
}

.card-programme--cta .card-programme__texte {
	font-size: 18px;
	display: block;
	-webkit-line-clamp: unset;
	line-height: 28px;
	overflow: visible;
}

.card-programme__cta-btn {
	margin-top: 24px;
	height: auto;
}

/* Utilities */

.btn-link {
	font-weight: bold;
	text-decoration: underline;
}

.wp-block-button__link {
	width: auto;
}

.stretched-link {
	&:after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		top: 0;
	}

}

.text-center {
	text-align: center;
}

.buttons {
	display: flex;
	gap: 30px;
}

.more-content {
	position: relative;

	p:empty {
		display: none;
	}
}

.link.open {
	display: none;
}

.read-more-content {
	overflow: hidden;
	height: 0;
	transition: height 200ms ease-in-out;



	&.open {
		height: 100%;
		transition: height 200ms ease-in-out;
	}
}

/**************/

.modal {
	.close {
		position: absolute;
		top: 15px;
		right: 15px;
	}

	.modal-header {
		padding: 40px 50px 0 50px;
		border: none;

		@media(width < 765px) {
			padding: 15px;
		}

		.modal-title {
			position: relative;
			font-weight: 800;
			font-size: var(--wp--preset--font-size--large);
			font-family: var(--wp--preset--font-family--primary);
			color: var(--wp--preset--color--primary);
		}
	}

	.modal-body {
		padding: 15px 50px 40px 50px;

		@media(width < 765px) {
			padding: 15px;
		}
	}
}

/* Mobile */
@media (max-width: 767px) {
	body .container,
	body .container-fluid {
		--bs-gutter-x: 3rem;
		max-width: none;
	}
}

/* Mobile */
@media (max-width: 767px) {
	.entry-content > [style*="margin-top:192px"] {
		margin-top: 90px !important;
	}

	.entry-content > [style*="margin-bottom:192px"] {
		margin-bottom: 90px !important;
	}
}

/* Yoast breadcrumb */
#breadcrumbs,
.yoast-breadcrumbs {
	font-size: 13px;
}

#breadcrumbs *,
.yoast-breadcrumbs * {
	font-size: inherit;
}
