:root {
	--bodytext: #2d2926;
	--taronja: #d86018;
	--gris: #bbbbbc;
	--bgcrema: rgba(240, 179, 35, 0.6);
	--bgcrema2: rgba(240, 179, 35, 0.15);
	--bggris: #f2f2f2;
	--radius: 8px;
	--gapXS: 10px;
	--gapS: 15px;
	--gapM: 30px;
	--gapL: 40px;
	--gapXL: 60px;
	--gapXXL: 80px;
}

body {
	background-color: #fff;
}

.bggris {
	background-color: var(--bggris);
}

section.bgcrema {
	background-color: var(--bgcrema2);
	border-radius: var(--radius);
}

/**************************
PPP - BLOCS MANSOL
***************************/

/* Bloc text */

.bloc-text {
	h2 {
		margin-bottom: 10px;
		&.wp-block-heading + p {
			margin-top: var(--gapM);
		}
	}
	+ .bloc-text {
		margin-top: var(--gapL);
	}
}

/* Bloc text + imatge */

.bloc-text-imatge > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: 1fr;
	grid-column-gap: var(--gapS);
}

.bloc-text-imatge > .wp-block-group__inner-container > figure {
	order: 1;
	margin-bottom: var(--gapM);
}

.bloc-text-imatge > .wp-block-group__inner-container > .bloc-text {
	order: 2;
	margin-bottom: 0;
}

.bloc-text-imatge img,
.bloc-objectius img,
.bloc-equip img {
	border-radius: var(--radius);
}

.bloc-claim {
	order: 3;
	.wp-block-image:not(:last-of-type) {
		margin-bottom: var(--gapS);
	}
}

.bloc-text-imatge.bloc-serveis-claim img {
	max-width: 180px;
}

.bloc-programes {
	> .wp-block-group__inner-container > .wp-block-group:first-of-type {
		margin-bottom: var(--gapM);
	}

	.programes-logo {
		background-color: #fff;
		padding: var(--gapS);
		border-radius: var(--radius);
		margin-bottom: var(--gapS);

		&.programes-logo-labora {
			background-color: var(--bggris);
		}
	}

	.programa-teaser {
		background-color: var(--bgcrema);
		padding: var(--gapS);
		border-radius: var(--radius);

		h3 {
			font-weight: 600;
			font-size: 1.25rem;
			margin: var(--gapS) 0;
		}
	}
}

h2.titol-programes {
	font-size: 2rem;
	font-weight: 800;
	line-height: 1;
	background: var(--taronja);
	padding: 7px 20px 10px 20px;
	display: inline-block;
	border-radius: 4px;
	color: #fff;
	margin-bottom: 0;
}

.bloc-objectius {
	h3 {
		margin-bottom: 0.5em;
	}

	ul {
		margin-bottom: var(--gapM);
	}
}

/* Bloc botons */

.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gapXS);
}

.wp-block-buttons .wp-block-button a.wp-block-button__link,
.wp-block-buttons .wp-block-button a.wp-block-button__link:visited,
.boto a,
.boto a:visited,
input[type="submit"],
button[data-style="peer"],
a.wp-block-file__button,
button.cm-btn {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.2;
	padding: 5px 34px 7px 16px;
	margin: 0;
	display: inline-flex;
	background: url(img/arrow_right_blanc.svg) no-repeat calc(100% - 10px) 10px var(--taronja);
	border-radius: 4px;
	width: auto !important;
	border: 2px solid var(--taronja);
	text-decoration: none;
	text-align: left;
}

button {
	text-wrap: nowrap;
}

button.cm-btn {
	margin-bottom: var(--gapXS);
}

input[type="submit"] {
	margin-left: auto;
}

.wp-block-buttons .wp-block-button a.wp-block-button__link:hover,
.boto a:hover,
button[data-style="peer"]:hover {
	text-decoration: underline;
	cursor: pointer;
	text-underline-offset: 0.2em;
}

.wp-block-buttons .wp-block-button.is-style-outline a.wp-block-button__link {
	color: var(--taronja);
	background: url(img/arrow_right_taronja.svg) no-repeat calc(100% - 12px) 9px #fff;
}

a.wp-block-file__button,
a.wp-block-file__button:visited {
	color: var(--bodytext);
	background: url(img/arrow_download.svg) no-repeat calc(100% - 14px) 10px;
	background-size: 11px auto;
	border-color: var(--bodytext);
}

.wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
	width: auto;
}

.wp-block-buttons .botons_cta {
	background-color: var(--bgcrema);
	padding: var(--gapL) 0;

	.wrap {
		display: flex;
		justify-content: space-between;
		gap: var(--gapM);
	}

	.wp-block-buttons .wp-block-button {
		width: 100%;
		display: block;
		background-color: var(--taronja);
		border-radius: var(--radius);

		a.wp-block-button__link {
			display: block;
			background-image: none;
			text-align: left;
			border: none;
			padding: 26px 26px 18px 26px;
			font-size: 1.625rem;
			min-height: 140px;
			height: 100%;
			margin: 0;
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
		}
	}

	img {
		max-height: 70px;
		width: auto !important;
		align-self: flex-end;
		margin-left: auto;
	}
}

.bloc-cta-simple .wrap > .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

/* Bloc xifres blobs */

.xifra {
	font-size: 1.25rem;
	font-weight: 600;
	text-align: center;
	text-wrap: balance;
	line-height: 1.1;
	letter-spacing: -0.02em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 40px 30px;

	img {
		margin-bottom: 1em;
	}

	strong {
		font-size: 2.25rem;
		font-weight: 900;
		display: block;
	}
}

.xifra-blob {
	font-size: 1rem;
	font-weight: 500;
	background: url(img/blob1.svg) no-repeat;
	background-size: contain;
	background-position: center;

	img {
		margin-bottom: 0.25em;
		max-height: 70px;
	}

	p {
		max-width: 145px;
		margin: 0 auto;
	}
}

.slick-initialized .xifra-blob.slick-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 228px;
}

.xifra .xifra-blob strong {
	font-size: 1.875rem;
}

/* Bloc quesito */

.bloc-quesito {
	order: 2;
	margin-bottom: var(--gapM);
	> .wp-block-group__inner-container {
		display: flex;
		flex-direction: column;
		gap: var(--gapM);
		background-color: var(--bgcrema);
		border-radius: var(--radius);
		padding: var(--gapM);
		margin-bottom: var(--gapXS);
	}
}

/* Teasers serveis */

ul.wp-block-post-template {
	margin: 0;
}

.grid_serveis {
	display: grid;
	grid-template-columns: 1fr;
	grid-auto-rows: 1fr;
	justify-content: center;
	grid-gap: var(--gapS);

	.wp-block-post {
		display: grid;
		grid-template-columns: 1fr;
		border-radius: var(--radius);
		overflow: hidden;
		margin-top: 0;
	}
}

.teaser_servei_intro,
.teaser_servei_info,
.teaser_servei_media {
	grid-column: 1/2;
	grid-row: 1/2;
}

.teaser_servei_intro {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
	padding: var(--gapS);
	z-index: 2;
	align-self: end;
	padding-top: 40px;
	> .wp-block-group__inner-container {
		display: inline-block;
	}

	h3 {
		float: left;
		padding-right: 0;
		margin: 0;
	}

	h3 a,
	h3 a:visited {
		padding: 6px 20px 8px 20px;
		background: var(--taronja);
		color: #fff;
		font-size: 1.6875rem;
		font-weight: 800;
		border-radius: 4px;
		letter-spacing: 0.035rem;
		line-height: 1.75rem;
		margin: 0;
		float: left;
		text-decoration: none;
	}

	h3 a:hover {
		text-decoration: underline;
	}

	.teaser_servei_any {
		font-size: 0.875rem;
		font-weight: 600;
		color: #fff;
		background-color: #000;
		line-height: 1;
		padding: 3px 10px 5px 11px;
		border-radius: 2px;
		margin: 0;
		float: right;
		clear: both;
	}
}

.teaser_servei_info {
	opacity: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 30px 24px 50px var(--gapM);
	color: #fff;
	font-size: 1.125rem;
	line-height: 1.4;
	font-weight: 400;
	z-index: 3;
	background-color: rgba(0, 0, 0, 0.8);
	transition: opacity 0.4s;

	.teaser-serveis-botons .boto a {
		padding: 6px 16px 8px 16px;
		background-image: none;
		border-color: #fff;
		background-color: transparent;
	}
}

.grid_serveis li.servei:hover .teaser_servei_info {
	opacity: 1;
	transition: opacity 0.4s;
}

.teaser_servei_media {
	z-index: 1;
	img {
		width: 100%;
		height: 100%;
		aspect-ratio: 2/1;
		object-fit: cover;
	}
}

/* Bloc testimonis + xifra */

.testimoni {
	background-color: var(--bgcrema);
	border-radius: var(--radius);
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;

	img {
		border-radius: 50%;
		max-width: 120px;
		margin-bottom: var(--gapS);
	}

	.testimoni-txt {
		font-size: 1.1875rem;
		font-weight: 400;
		line-height: 1.3;

		a {
			font-size: 0.9375rem;
			background: url("img/arrow_right_taronja.svg") no-repeat left 6px;
			background-size: 12px auto;
			padding-left: 18px;
		}
	}

	.testimoni_logo img {
		border-radius: 0;
		max-width: none;
		height: 100px;
		width: auto;
		margin-bottom: var(--gapS);
	}
}

/* Blocs contacte */

.bloc-contacte {
	background-color: var(--bggris);
	border-radius: var(--radius);
	overflow: hidden;
	padding: var(--gapM) 20px;

	&:first-of-type {
		margin-bottom: var(--gapM);
	}

	.bloc-contacte-info h3 {
		font-size: 1.25rem;
		margin-bottom: 1em;
	}

	iframe {
		display: block;
	}
}

.certificacions .bloc-contacte.bloc-contacte-info {
	background-color: #fff;
}

.bloc-contacte .bloc-contacte p[class*="ico"],
#footer p[class*="ico"] {
	padding-left: 26px;
	background-position: left 4px;
	margin-bottom: 0.5em;
	font-size: 1.125rem;
	min-height: 1.5em;
}

/* Pàgina contacte */

.bloc-contacte-mapa,
.bloc-contacte-treballa {
	border-radius: var(--radius);
	overflow: hidden;

	.bloc-contacte {
		margin-bottom: 0;
		border-radius: 0;
	}
}

.bloc-contacte-mapa {
	margin-bottom: var(--gapM);

	.bloc-contacte {
		padding-bottom: 0;

		h3 {
			margin-top: 2em;
			margin-bottom: 1em;
		}
	}
}

.bloc-contacte-treballa {
	background-color: var(--bgcrema2);
	.bloc-contacte {
		background-color: transparent;
	}

	figure {
		flex: 1;
	}

	img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

.ico-adreca,
#footer .ico-adreca {
	background: url(img/ico_adreca2.svg) no-repeat;
	padding-left: 30px;
}

.ico-tel,
#footer .ico-tel {
	background: url(img/ico_tel2.svg) no-repeat left 5px;
	padding-left: 30px;
}

.ico-mail {
	background: url(img/ico_mail2.svg) no-repeat left 9px;
	padding-left: 30px;
}

#footer .ico-mail {
	background: url(img/ico_mail2_gris.svg) no-repeat left 6px;
}

/* ANCHOR 600 */

@media (min-width: 600px) {
	.grid_serveis {
		gap: var(--gapS);
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 1fr;
	}

	.bloc-contacte-form .wpcf7-form {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: var(--gapM);
		row-gap: var(--gapS);

		p {
			margin: 0;
		}

		> div {
			grid-column: 1/-1;
		}

		.form_nom {
			grid-column: 1/2;
		}

		.form_mail {
			grid-column: 2/3;
		}
	}

	/* Bloc quesito */

	.bloc-quesito > .wp-block-group__inner-container {
		flex-direction: row;
		justify-content: center;
		align-items: center;
		margin-bottom: 0;

		.quesito-info img {
			margin-bottom: var(--gapS);
		}

		p {
			margin: 0;
		}
	}
}

/* ANCHOR 768 */

@media (min-width: 768px) {
	/* Bloc botons */

	.wp-block-buttons .wp-block-button a.wp-block-button__link,
	.wp-block-buttons .wp-block-button a.wp-block-button__link:visited,
	.boto a,
	.boto a:visited,
	input[type="submit"] {
		padding: 8px 47px 9px 20px;
		background-position: calc(100% - 20px) 14px;
	}

	/* Teasers serveis */

	.teaser_servei_intro {
		padding: 0 0 30px 40px;
	}

	/* Bloc testimonis */

	.testimoni {
		padding: var(--gapM);
	}

	.patronat + section .testimoni {
		padding: 30px;
	}

	/* Bloc xifres blobs */

	.xifres {
		width: 100%;
		> .wp-block-group__inner-container {
			display: flex;
			justify-content: center;
			grid-gap: 20px;
		}

		.xifra {
			flex: 1;
			padding: 30px 30px 40px 30px;

			.wp-block-image {
				margin: 0;
			}
		}
		.xifra-blob {
			aspect-ratio: 1/1;
			max-width: 240px;
		}
	}

	/* Serveis */

	h2.titol-programes {
		font-size: 2.5rem;
		padding: 10px 30px 14px 30px;
		font-weight: 700;
	}

	/* Blocs contacte */

	.bloc-contacte-mapa,
	.bloc-contacte-treballa {
		> .wp-block-group__inner-container {
			display: grid;
			grid-template-columns: 1fr 1fr;
		}

		h3 {
			display: none;
		}
	}
}

/* ANCHOR 900 */

@media (min-width: 900px) {
	/* Bloc contacte form */

	.bloc-contacte-form > .wp-block-group__inner-container {
		display: grid;
		grid-template-columns: 300px 1fr;
		grid-gap: var(--gapM);
	}
}

/* ANCHOR 1100 */

@media (min-width: 1100px) {
	/* Bloc text + imatge */

	.bloc-text-imatge > .wp-block-group__inner-container {
		grid-template-columns: 1fr 1fr;
		grid-column-gap: var(--gapXL);
		align-items: center;
	}

	.bloc-text-imatge.bloc-programes > .wp-block-group__inner-container {
		grid-template-columns: 2fr 1fr;
	}

.bloc-text-imatge > .wp-block-group__inner-container > figure,
.bloc-text-imatge > .wp-block-group__inner-container > .bloc-text {
	order:initial;
	margin-bottom:0 ;
}



	/* Teasers serveis */

	.grid_serveis {
		gap: var(--gapM);
	}

	/* Blocs contacte */

	.bloc-contacte {
		padding: var(--gapL) var(--gapL) var(--gapM) var(--gapL);
	}

	.bloc-contacte-amb-form > .wp-block-group__inner-container {
		display: grid;
		grid-template-columns: 1fr 2fr;
		grid-gap: var(--gapL);
	}

	.bloc-contacte-info .wp-block-image,
	.bloc-contacte:first-of-type {
		margin: 0;
	}

	.bloc-contacte-form > .wp-block-group__inner-container {
		grid-template-columns: 1fr 2fr;

		.bloc-contacte-form span[data-name="your-message"] {
			grid-column: 1/-1;
		}
	}

	.bloc-contacte p[class*="ico"],
	#footer p[class*="ico"] {
		padding-left: 30px;
		line-height: 1.3;
		margin-bottom: 1em;
	}

	#footer p[class*="ico"] {
		background-position: left 4px;
		padding-left: 30px;
	}

	#footer p.ico-mail {
		background-position: left 7px;
	}

	.bloc-contacte-mapa,
	.bloc-contacte-treballa {
		margin-bottom: 0;

		> .wp-block-group__inner-container {
			height: 100%;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
		}

		h3 {
			display: block;
		}
	}

	/* Blocs columnes */

	.grid3,
	.grid4 {
		font-size: 1.125rem;
		line-height: 1.4;
	}

	/* Bloc quesito */

	.bloc-quesito {
		order: -1;
		margin-bottom: 0;
		> .wp-block-group__inner-container {
			margin-bottom: 0;
		}
	}

	/* Marges */

	.bloc-text + .bloc-text,
	.bloc_text + .xifres {
		margin-top: 0;
	}
}

/* ANCHOR 1300 */

@media (min-width: 1300px) {
}
