/********************************************************/
/*
/*      Layout CSS
/*
/********************************************************/

	html {
		overflow-x: clip;
		scroll-behavior: smooth;
		margin-block-start: 0 !important;
	}

	body {
		width: 100%;
		max-width: var(--wp--custom--viewport-width);
	}
	
	body:not(.wp-admin) #wpadminbar {
		position: relative !important;
	}
	
	@media screen and (max-width: 1300px) {
		body { --wp--custom--header-height: 8.25rem; }
	}
	
	@media screen and (max-width: 850px) {
		#wpadminbar { display: none !important; }
	}
	
	@media screen and (max-width: 600px) {
		body { --wp--custom--header-height: 6.75rem; }
	}
	
	@media screen and (max-width: 400px) {
		body { --wp--custom--header-height: 6.125rem; }
	}

	/******************************/
	/* Content grid
	/******************************/
	.wp-site-blocks {
		min-width: 100%;
		min-height: 100dvh;
		margin-inline: auto;
		display: flex; 
		flex-direction: column;
		overflow-x: clip;
	}
	
	.wp-site-blocks > * {
		margin-block-start: 0;
	}
	
	.wp-site-blocks > header {
		position: relative;
		display: flex;
		align-items: end;
		width: 100%;
		z-index: 5;
	}
	
	.wp-site-blocks > main {
		flex-grow: 2;
	}
	
	.wp-site-blocks:has(.newsletter-widget) > main {
		margin-block-end: 2rem;
	}
	
	.wp-site-blocks > main > .wp-block-post-content {
		padding-block-end: var(--wp--preset--spacing--5);
	}
	
	.wp-site-blocks > footer {
		z-index: 3;
	}
	
	/******************************/
	/* Header
	/******************************/
	.site-head {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
		margin-inline: auto;
	}
	
	.site-head .wp-block-site-logo img {
		width: auto;
		height: 100px;
		aspect-ratio: 287/97;
	}
	
	@media screen and (max-width: 1568px) {
		.site-head { max-width: calc(var(--wp--custom--viewport-width) - (var(--wp--custom--outer-pad) * 2)); }
	}
	
	@media screen and (max-width: 1320px) {
		.site-head { padding-block-start: var(--wp--preset--spacing--1) !important; padding-block-end: var(--wp--preset--spacing--1) !important; }
	}
	
	@media screen and (max-width: 600px) {
		.site-head .wp-block-site-logo img { height: 80px; }
	}
	
	@media screen and (max-width: 400px) {
		.site-head .wp-block-site-logo img { height: 70px; }
	}
	
	/******************************/
	/* Footer
	/******************************/
	.site-foot {
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
		margin-inline: auto;
	}
	
	.site-foot > .wp-block-group {
		margin-block: 0;
	}
	
	.site-foot > .wp-block-group:first-child,
	.site-foot > .has-background {
		position: relative;
	}
	
	.site-foot > .wp-block-group:first-child {
		display: grid;
		grid-template-columns: repeat(3, 1fr) 3fr;
		grid-template-rows: auto repeat(3, max-content);
		grid-template-areas: 
			'logo expertises-menu footer-menu newsletter'
			'coords expertises-menu footer-menu social-menu'
			'coords expertises-menu footer-menu social-menu'
			'empty expertises-menu footer-menu empty-2';
		column-gap: var(--wp--preset--spacing--4);
		row-gap: var(--wp--preset--spacing--2);
	}
	
	.site-foot > .wp-block-group:last-child {
		gap: .5rem;
		padding-block: 1.25rem;
	}
	
	.site-foot > .wp-block-group:first-child::before,
	.site-foot > .wp-block-group:first-child::after,
	.site-foot > .has-background::before {
		content: '';
		display: block;
		z-index: -1;
	}
	
	.site-foot > .wp-block-group:first-child::before,
	.site-foot > .wp-block-group:first-child::after,
	.site-foot > .has-background::before,
	.footer-bg {
		position: absolute;
		top: 0;
		left: calc((var(--wp--custom--viewport-width) - 100%) / 2 * -1);
		width: var(--wp--custom--viewport-width);
		height: 100%;
	}
	
	.site-foot > .wp-block-group:first-child::before,
	.site-foot > .wp-block-group:first-child::after {
		background: linear-gradient(90deg, rgba(64,88,100,1) 0%, rgba(64,88,100,1) 33%, rgba(188,214,227,1) 100%);
		opacity: .85;
		mix-blend-mode: multiply;
	}
	
	.site-foot > .has-background::before {
		background-color: inherit;
	}
	
	.site-foot .footer-bg {
		object-fit: cover;
		z-index: -2;
	}
	
	.site-foot .logo {
		grid-area: logo;
		height: 100px;
	}
	
	.site-foot .coordinates {
		grid-area: coords;
	}
	
	.site-foot .site-nav.expertises {
		grid-area: expertises-menu;
	}
	
	.site-foot .site-nav.footer {
		grid-area: footer-menu;
	}
	
	.site-foot .newsletter {
		grid-area: newsletter;
		justify-self: start;
	}
	
	.site-foot .site-nav.social {
		grid-area: social-menu;
		grid-template-rows: max-content max-content;
		align-items: start;
		row-gap: .75rem;
	}
	
	.site-foot .site-nav.social .menu-item a {
		border-color: var(--wp--custom--default-color--focus);
	}
	
	.site-foot .site-nav.social .menu-item a:hover {
		color: var(--wp--custom--default-color--text);
		background-color: var(--wp--custom--default-color--focus);
	}
	
	.site-foot .site-nav.social .menu-item a::after {
		color: var(--wp--custom--default-color--focus);
	}
	
	.site-foot .privacy-policy {
		line-height: normal;
		padding-inline-start: .5rem;
		margin-inline-end: auto;
		border-inline-start: 2px solid currentcolor;
	}
	
	.site-foot .cake img {
		vertical-align: middle;
		filter: var(--wp--custom--filter--dark-green);
	}
	
	@media screen and (max-width: 1568px) {
		.site-foot { max-width: calc(var(--wp--custom--viewport-width) - (var(--wp--custom--outer-pad) * 2)); }
	}
	
	@media screen and (max-width: 1240px) {
		.site-foot > .wp-block-group:first-child 
		{ grid-template-areas: 'logo coords coords newsletter' 
							   'logo coords coords social-menu' 
							   'expertises-menu footer-menu empty empty'; 
		  grid-template-rows: auto repeat(2, max-content); column-gap: var(--wp--preset--spacing--3); padding-block-end: var(--wp--preset--spacing--3) !important; }
		.site-foot :is(.logo, .coordinates) { margin-block: auto; }
	}
	
	@media screen and (max-width: 1000px) {
		.site-foot > .wp-block-group:first-child 
		{ grid-template-areas: 'logo coords coords' 
							   'newsletter newsletter social-menu' 
							   'expertises-menu footer-menu empty'; 
		  grid-template-columns: repeat(3, 1fr); column-gap: var(--wp--preset--spacing--2); }
		.site-foot .coordinates { justify-self: end; }
		.site-foot > .wp-block-group:last-child { flex-wrap: wrap; }
		.site-foot .copyrights { margin-inline-start: auto; }
	}
	
	@media screen and (max-width: 875px) {
		.site-foot > .wp-block-group:last-child { flex-direction: column; flex-wrap: nowrap; align-items: center; }
		.site-foot :is(.copyrights, .privacy-policy) { text-align: center; margin-inline: unset !important; }
		.site-foot .privacy-policy { padding-inline-start: unset; border-inline-start: unset; }
	}
	
	@media screen and (max-width: 750px) {
		.site-foot > .wp-block-group:first-child 
		{ grid-template-areas: 'logo coords coords' 
							   'newsletter newsletter newsletter' 
							   'social-menu social-menu social-menu' 
							   'expertises-menu footer-menu empty'; 
		  grid-template-rows: auto repeat(3, max-content); }
	}
	
	@media screen and (max-width: 600px) {
		.site-foot > .wp-block-group:first-child 
		{ grid-template-areas: 'logo logo'
							   'coords coords'
							   'newsletter newsletter' 
							   'social-menu social-menu' 
							   'expertises-menu footer-menu'; 
		  grid-template-rows: auto repeat(4, max-content); grid-template-columns: repeat(2, 1fr); }
		.site-foot > .wp-block-group:first-child > * { justify-self: start !important; }
	}
	
	@media screen and (max-width: 420px) {
		.site-foot > .wp-block-group:first-child 
		{ grid-template-areas: 'logo'
							   'coords'
							   'newsletter' 
							   'social-menu'; 
		  grid-template-rows: auto repeat(3, max-content); grid-template-columns: 1fr; }
		.site-foot .site-nav:is(.footer, .expertises) { display: none; }
	}

	/******************************/
	/* Menus
	/******************************/
	.site-nav {
		display: flex;
		align-items: end;
		gap: var(--wp--preset--spacing--2);
	}
	
	.site-nav a {
		text-decoration: none;
		transition: color .3s;
	}
	
	.site-nav .menu-item {
		position: relative;
		width: max-content;
		list-style: none;
	}
	
	.site-nav .menu-item:hover > a {
		color: var(--wp--custom--default-color--focus);
	}
	
	.site-nav .menu-item-has-children > a::after {
		content: '';
		font-family: var(--wp--preset--font-family--fontawesome);
		font-size: .7em;
		margin-inline-start: .25rem;
	}
	
	/* Main menu */
	.site-nav.main {
		padding-block-end: var(--wp--preset--spacing--30);
	}
	
	.site-nav.main .menu-item > a {
		gap: calc(var(--wp--preset--spacing--1) * 1.25);
		font-size: calc(var(--wp--preset--font-size--small) * .8);
	}
	
	.site-nav.main > :not(.burger) {
		text-transform: uppercase;
		padding-block-end: .5rem;
	}
	
	.site-nav.main .burger {
		position: relative;
		margin-block-end: .25rem;
		cursor: pointer;
		z-index: 2;
	}
	
	.site-nav.main .burger::before,
	.site-nav.main .burger::after {
		font-family: var(--wp--preset--font-family--fontawesome);
		display: inline-block;
		font-size: 1.25em;
		opacity: 0;
		transition: color .3s, opacity .3s;
	}
	
	.site-nav.main .burger:hover::before,
	.site-nav.main .burger:hover::after {
		color: var(--wp--custom--default-color--focus) !important;
	}
	
	.site-nav.main .burger::before {
		content: '';
	}
	
	.site-nav.main .burger::after {
		content: '';
		position: absolute;
		left: 50%;
		top: 50%;
		translate: -50% -50%;
		font-size: 2em;
	}
	
	#burger-menu-toggle:not(:checked) ~ .site-head .site-nav.main .burger::before,
	#burger-menu-toggle:checked ~ .site-head .site-nav.main .burger::after {
		opacity: 1;
		transition: color .3s, opacity .3s .15s;
	}
	
	#burger-menu-toggle:checked ~ .site-head .site-nav.main .burger::before,
	#burger-menu-toggle:checked ~ .site-head .site-nav.main .burger::after {
		color: var(--wp--preset--color--off-gray);
	}
	
	@media screen and (max-width: 1520px) {
		.site-nav.main { gap: var(--wp--preset--spacing--1); }
		.site-nav.main .menu-item > a { font-size: calc(var(--wp--preset--font-size--small) * .8); }
	}
	
	@media screen and (max-width: 1320px) {
		.site-head > div:has(.site-nav.main) { align-self: center !important; }
		.site-nav.main { padding-block-end: 0; }
		.site-head .site-nav.main > :not(.burger) { display: none; }
	}
	
	/* Sub menu */
	.site-nav .sub-menu {
		position: absolute;
		top: 100%;
		left: 50%;
		background-color: var(--wp--custom--default-color--bg);
		padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--2);
		margin: 0;
		border-radius: 1rem;
		box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, .3);
		opacity: 0;
		pointer-events: none;
		translate: -50% -1px;
		transition: opacity .3s;
	}
	
	.site-nav .menu-item-has-children:hover > .sub-menu {
		opacity: 1;
		pointer-events: all;
	}
	
	.site-nav .sub-menu > .menu-item {
		font-size: var(--wp--preset--font-size--small);
		text-transform: initial;
	}
	
	.site-nav .sub-menu > .menu-item:not(:first-child) {
		margin-block-start: var(--wp--preset--spacing--1);
	}
	
	/* Burger menu */
	.burger-menu {
		display: grid;
		grid-template-columns: 4fr 1fr;
		grid-template-rows: auto repeat(3, max-content);
		grid-template-areas: 
			'empty burger-menu'
			'coords burger-menu'
			'logo burger-menu'
			'logo social-menu';
		gap: var(--wp--preset--spacing--2);
		position: fixed;
		top: 0;
		left: 0;
		width: var(--wp--custom--viewport-width);
		height: 100dvh;
		padding-block: var(--wp--custom--header-height) var(--wp--preset--spacing--2);
		padding-inline: calc(var(--wp--custom--outer-pad) * 4) calc(var(--wp--custom--outer-pad) * 2);
		/* padding-inline: max(calc((var(--wp--custom--viewport-width) - var(--wp--style--global--wide-size)) / 2), var(--wp--custom--outer-pad)); */
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s;
	}
	
	#burger-menu-toggle:checked ~ .burger-menu {
		opacity: 1;
		pointer-events: all;
	}
	
	.burger-menu::before,
	.burger-menu .burger-bg {
		position: absolute;
		inset: 0;
		width: var(--wp--custom--viewport-width);
		height: 101vh;
	}
	
	.burger-menu::before {
		content: '';
		display: block;
		background: var(--wp--preset--color--dark-green);
		opacity: .25;
		mix-blend-mode: multiply;
		z-index: -1;
	}
	
	.burger-menu .burger-bg {
		object-fit: cover;
		z-index: -2;
	}
	
	.site-nav.burger {
		grid-area: burger-menu;
		justify-self: end;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: start;
		gap: var(--wp--preset--spacing--1);
		width: min-content;
		height: 100%;
	}
	
	.site-nav.burger .menu-item {
		font-family: var(--wp--preset--font-family--helvetica-now-display);
		font-size: calc(var(--wp--preset--font-size--x-large) * .8);
		font-weight: 700;
		list-style: none;
	}
	
	.site-nav.burger .menu-item a {
		color: var(--wp--preset--color--off-gray);
		text-decoration: none;
		transition: color .3s;
	}
	
	.site-nav.burger .menu-item a:hover {
		color: var(--wp--custom--default-color--focus);
	}
	
	.site-nav.burger .sub-menu {
		display: none;
	}
	
	.burger-menu .site-nav.social {
		grid-area: social-menu;
		justify-content: end;
	}
	
	.burger-menu .coordinates {
		grid-area: coords;
	}
	
	.burger-menu .logo {
		grid-area: logo;
		margin-inline-start: calc(var(--wp--custom--outer-pad) * -3);
		/* margin-inline-start: calc((max(((var(--wp--custom--viewport-width) - var(--wp--style--global--wide-size)) / 2), var(--wp--custom--outer-pad)) * -1) + var(--wp--preset--spacing--2)); */
	}
	
	@media screen and (max-width: 1700px) {
		.burger-menu { padding-inline: calc(var(--wp--custom--outer-pad) * 3) calc(var(--wp--custom--outer-pad) * 2); }
		.burger-menu .logo { margin-inline-start: calc(var(--wp--custom--outer-pad) * -2.5); }
	}
	
	@media screen and (max-width: 1240px) {
		.burger-menu
		{ grid-template-areas: 'burger-menu burger-menu'
							   'coords empty'
							   'logo social-menu';
		  grid-template-rows: auto repeat(2, max-content); gap: var(--wp--preset--spacing--1); padding-inline: var(--wp--custom--outer-pad); }
		.burger-menu .logo { margin-inline-start: 0; }
		.burger-menu .logo h2 { font-size: calc(var(--wp--preset--font-size--omega) * .75) !important; }
		.burger-menu .logo h3 { font-size: calc(var(--wp--preset--font-size--large) * .75); }
	}
	
	@media screen and (max-width: 850px) {
		.burger-menu
		{ grid-template-areas: 'burger-menu burger-menu'
							   'coords social-menu'; 
		  grid-template-columns: auto 1fr; column-gap: var(--wp--preset--spacing--2); grid-template-rows: auto max-content; }
		.burger-menu .logo { display: none !important; }
		/* .burger-menu .logo h3 { font-size: var(--wp--preset--font-size--x-small); } */
	}
	
	@media screen and (max-width: 620px) {
		.burger-menu
		{ grid-template-areas: 'burger-menu'
							   'coords'
							   'logo'; 
		  grid-template-columns: 1fr; }
		.burger-menu .site-nav.social { display: none; }
		.burger-menu .logo h2 { font-size: var(--wp--preset--font-size--omega) !important; }
	}
	
	@media screen and (max-width: 520px) {
		.site-nav.burger { justify-self: start; }
	}
	
	@media screen and (max-width: 450px) {
		.burger-menu .logo h2 { font-size: calc(var(--wp--preset--font-size--omega) * 1.15) !important; }
	}
	
	@media screen and (max-width: 400px) {
		.burger-menu .logo h2 { font-size: calc(var(--wp--preset--font-size--omega) * 1.25) !important; }
		.burger-menu .logo h3 { display: none !important; }
	}
	
	@media screen and (max-width: 400px) {
		.site-nav.burger { justify-content: end !important; }
		.burger-menu :is(.coordinates, .logo) { display: none !important; }
	}
	
	/* Height queries */
	@media screen and (max-height: 850px) and (min-width: 521px), (max-width: 1240px) and (min-width: 521px) {
		.site-nav.burger { display: block; column-count: 2; padding-block-start: var(--wp--preset--spacing--2); }
		.site-nav.burger .menu-item { margin-block-end: var(--wp--preset--spacing--1); margin-inline-start: var(--wp--preset--spacing--1); }
	}
	
	@media screen and (max-height: 700px) {
		.burger-menu 
		{ grid-template-areas: 'burger-menu burger-menu'
			   				   'coords social-menu' !important; 
		  grid-template-columns: auto 1fr; grid-template-rows: auto max-content; padding-block-start: calc(var(--wp--custom--header-height) / 1.5); }
		.burger-menu .logo { display: none !important; }
		.burger-menu .coordinates { align-self: end; }
		.burger-menu .site-nav.social { justify-content: start; }
		.site-nav.burger { height: max-content; padding-block-start: unset; }
	}
	
	@media screen and (max-height: 550px) {
		.burger-menu 
		{ grid-template-areas: 'burger-menu' !important; 
		  grid-template-columns: 1fr; grid-template-rows: 1fr; }
		.burger-menu :is(.coordinates, .site-nav.social) { display: none !important; }
		.site-nav.burger .menu-item { font-size: var(--wp--preset--font-size--medium) !important; margin-block-end: .5rem; }
	}
	
	/* Dual queries */
	@media screen and (max-width: 520px) and (max-height: 700px) {
		.burger-menu :is(.logo, .coordinates, .site-nav.social) { display: none !important; }
		.site-nav.burger .menu-item { margin-block-end: unset !important; }	
	}
	
	@media screen and (max-width: 520px) and (max-height: 500px) {
		.site-nav.burger { gap: .5rem; }	
	}
	
	/* Footer & expertises menus */
	.site-nav:is(.footer, .expertises) {
		align-self: start;
		flex-direction: column;
		justify-content: start;
		align-items: start;
	}
	
	.site-nav.footer {
		gap: .75rem;
	}
	
	.site-nav.expertises {
		gap: .4rem;
	}
	
	.site-nav.expertises > h2 {
		width: max-content;
		margin: 0;
	}
	
	.site-nav:is(.footer, .expertises) > .menu-item {
		font-family: var(--wp--preset--font-family--helvetica-now-display);
		font-size: var(--wp--preset--font-size--small);
		color: var(--wp--preset--color--off-gray);
	}
	
	.site-nav.footer > .menu-item {
		font-weight: 600;
	}
	
	/* Social menu */
	.site-nav.social {
		display: grid;
		grid-template-columns: repeat(3, auto);
		grid-template-rows: auto auto;
		grid-auto-columns: auto;
		justify-content: start;
		gap: 1rem;
	}
	
	.site-nav.social > :not(.menu-item) {
		grid-column: 1 / -1;
		grid-row: 1;
		font-weight: 700;
		margin-block: 0;
	}
	
	.site-nav.social .menu-item {
		grid-row: 2;
	}
	
	.site-nav.social .menu-item a {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 3rem;
		height: auto;
		aspect-ratio: 1;
		font-size: 0;
		color: transparent;
		background-color: transparent;
		border: 2px solid var(--wp--custom--default-color--bg);
		border-radius: 50%;
		transition: background-color .3s;
	}
	
	.site-nav.social .menu-item a::after {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		font-family: var(--wp--preset--font-family--fontawesome);
		font-size: 1.25rem;
		line-height: 0;
		color: var(--wp--custom--default-color--bg);
		translate: -50% -50%;
		transition: color .3s;
	}
	
	.site-nav.social .menu-item a:hover {
		background-color: var(--wp--custom--default-color--bg);
	}
	
	.site-nav.social .menu-item a:hover::after {
		color: var(--wp--custom--default-color--text);
	}
	
	.site-nav.social .menu-item.fb a::after { content: ''; }
	.site-nav.social .menu-item.ig a::after { content: ''; font-size: 1.5rem; }
	.site-nav.social .menu-item.x a::after { content: ''; }
	.site-nav.social .menu-item.in a::after { content: ''; }
	.site-nav.social .menu-item.yt a::after { content: ''; }
	
	/******************************/
	/* Singles
	/******************************/
	
	:is(.projet-banner, .actualite-banner, .evenement-banner) {
		display: flex;
		align-items: center;
		position: relative;
		width: var(--wp--custom--viewport-width);
		height: calc(100vh - var(--wp--custom--header-height));
		margin-block-end: var(--wp--preset--spacing--6) !important;
	}
	
	:is(.projet-banner, .actualite-banner, .evenement-banner)::before,
	:is(.projet-banner, .actualite-banner, .evenement-banner) .wp-block-cover__image-background {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
	}
	
	:is(.projet-banner, .actualite-banner, .evenement-banner)::before {
		content: '';
		mix-blend-mode: multiply;
	}
	
	:is(.projet-banner, .actualite-banner, .evenement-banner):not(:has(.wp-block-cover__image-background))::before {
		opacity: 1;
	}
	
	:is(.projet-banner, .actualite-banner, .evenement-banner) .wp-block-cover__image-background {
		object-fit: cover;
		z-index: -1;
	}
	
	:is(.projet-banner, .actualite-banner, .evenement-banner) .wp-block-cover__inner-container {
		z-index: 1;
	}
	
	:is(.projet-banner, .actualite-banner, .evenement-banner) .wp-block-cover__inner-container > * {
		max-width: 60%;
		margin-block: 0;
	}
	
	:is(.projet-banner, .actualite-banner, .evenement-banner) .wp-block-cover__inner-container > * + * {
		margin-block-start: 1rem;
	}
	
	/* Projet */
	.projet-banner::before {
		background-color: #405864;
		opacity: .75;
	}
	
	body.single-cke_projet .wp-block-column > .wp-block-cke-slideshow {
		position: sticky;
		top: var(--wp--preset--spacing--3);
	}
	
	/* Actualite/Evenement */
	:is(.actualite-banner, .evenement-banner)::before {
		background-color: var(--wp--preset--color--dark-green);
		opacity: .1;
	}
	
	@media screen and (max-width: 850px) {
		:is(.projet-banner, .actualite-banner, .evenement-banner) { height: auto; }
		:is(.projet-banner, .actualite-banner, .evenement-banner) .wp-block-cover__inner-container > * { max-width: 75%; }
		:is(.projet-banner, .actualite-banner, .evenement-banner) .wp-block-cover__inner-container > h2:not(:only-child) { font-size: var(--wp--preset--font-size--large); }
	}
	
	@media screen and (max-width: 500px) {
		:is(.projet-banner, .actualite-banner, .evenement-banner) .wp-block-cover__inner-container > * { max-width: unset; }
	}
	
	
	/******************************/
	/* Patterns
	/******************************/
	
	/* Coordinates */
	.coordinates > p {
		color: var(--wp--preset--color--off-gray);
		margin-block: 0 !important;
	}
	
	.coordinates > p a {
		text-decoration: none;
	}
	
	/* Newsletter widget */
	.newsletter-widget {
		bottom: var(--wp--preset--spacing--2);
		display: flex;
		flex-direction: column;
		min-width: 27.5rem;
		width: 25%;
		height: 14.25rem;
		background-color: var(--wp--custom--default-color--bg);
		padding: .5rem;
		margin-block: -14.25rem -2rem;
		margin-inline: auto var(--wp--preset--spacing--2);
		border-radius: 1rem;
		box-shadow: 7px 7px 5px 0px rgba(0, 0, 0, .3);
		transition: translate .6s, opacity .6s;
	}
	
	.newsletter-widget.closed {
		opacity: 0;
		translate: calc(100% + var(--wp--preset--spacing--2));
	}
	
	.newsletter-widget::before,
	.newsletter-widget::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 2.5rem;
		width: 7rem;
		height: 7rem;
		translate: 0 -50%;
	}
	
	.newsletter-widget::before {
		background: url(../images/icone-bg.png) no-repeat;
		background-size: contain;
		filter: var(--wp--custom--filter--off-gray);
		scale: 1.2;
		transform-origin: center;
		z-index: 1;
	}
	
	.newsletter-widget::after {
		background: url(../images/icone-newsletter.png) no-repeat;
		background-size: contain;
		/* filter: var(--wp--custom--filter--dark-green); */
		z-index: 2;
	}
	
	.newsletter-widget .wp-block-buttons {
		margin-inline-start: auto;
	}
	
	.newsletter-widget > p,
	.newsletter-widget .gform_confirmation_message {
		padding-inline: 1rem;
	}
	
	.newsletter-widget > p {
		margin-block-start: 2.5rem;
	}
	
	.newsletter-widget .gform_wrapper {
		margin-block-start: auto !important;
	}
	
	.newsletter-widget .gform_wrapper:has(.gform-loader) {
		opacity: .6 !important;
		pointer-events: none !important;
	}
	
	.newsletter-widget .gfield {
		display: flex;
		flex-direction: column;
	}
	
	.newsletter-widget :is(.gform_validation_errors, .gform-loader) {
		display: none;
	}
	
	.newsletter-widget .gfield_validation_message {
		order: -1;
		padding-inline-start: 1rem; 
		margin-block: 0 .25rem !important;
	}
	
	.newsletter-widget .gform_confirmation_message {
		font-weight: 700;
		margin-block-end: .5rem;
		user-select: none;
	}
	
	.newsletter-widget input[type="email"] {
		height: 2.6rem;
		padding: .6rem 2.5rem .6rem 1rem !important;
		border: 2px solid var(--wp--custom--default-color--text) !important;
	}
	
	.newsletter-widget .gform_footer,
	.newsletter-widget .gform_footer input[type="submit"] {
		position: absolute;
		width: 2rem !important;
		height: 2rem !important;
	}

	.newsletter-widget .gform_footer {
		right: .9rem;
		bottom: .8rem;
		margin: 0 !important;
		overflow: hidden;
	}
	
	.newsletter-widget .gform_footer::before,
	.newsletter-widget .gform_footer::after {
		right: 0;
		width: auto;
		height: 2rem;
		aspect-ratio: 1;
		font-size: var(--wp--preset--font-size--medium);
		pointer-events: none;
	}
	
	.newsletter-widget .gform_footer input[type="submit"] {
		right: -2px;
		opacity: 0 !important;
		padding: 0 !important;
	}
	
	@media screen and (max-width: 1000px) {
		.newsletter-widget { bottom: .5rem; height: 13rem; margin-inline: auto .5rem; }
		.newsletter-widget:has(.gform_validation_errors) { height: 13.5rem; }
		.newsletter-widget::before,
		.newsletter-widget::after { left: 1.75rem; width: 5rem; height: 5rem; }
		.newsletter-widget > p { margin-block-start: 1.5rem; }
	}
	
	@media screen and (max-width: 500px) {
		.newsletter-widget { bottom: 0; width: 100%; height: 9.5rem; min-width: unset; margin-inline: unset; border-radius: 1rem 1rem 0 0; }
		.newsletter-widget.closed { translate: 0 100%; }
		.newsletter-widget:has(.gform_validation_errors) { height: 10.5rem; }
		.newsletter-widget > p { font-size: var(--wp--preset--font-size--small); margin-block-start: .75rem; }
	}
	
	@media screen and (max-width: 450px) {
		.newsletter-widget > p { font-size: var(--wp--preset--font-size--x-small); margin-block-start: .75rem; padding-inline: .25rem; }
	}
	
	@media screen and (max-width: 375px) {
		.newsletter-widget { height: 10rem; }
	}
	
	/* Height queries */
	@media screen and (max-height: 500px) {
		.newsletter-widget { display: none !important; }
	}