@import url("https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,200..800;1,6..72,200..800&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

:root {
	--font-body: Poppins, sans-serif;
	--font-headings: var(--fontserif);
	--fontserif: Newsreader, serif;

	--bg-semitransparent: rgba(255, 255, 255, 0.8);
	--bg-semitransparent2: rgba(255, 255, 255, 0.5);

	--bgbody: #fbf4ea;
	--bodytxt: #000;
	--verdfosc: #517262;
	--bgverdmig: #8cb293;
	--bgverdclar: #d3d8a7;
	--bgbeigeclar: #f4e6d4;
	--bgbeigemig: #c2b59b;
	--bgbeigefosc: #ad9999;
	--bggroc: #ddc76b;
	--rosaclar: #ebbeaf;
	--rosafosc: #ff9999;
	--vermell: #fa4105;
	--vermellfosc: #d80619;
	--error: var(--vermellfosc);
	--bgerror: var(--rosaclar);
	--bgsuccess: #e7fdd8;
	--warning: #f5e3ca;
	--border-warning: var(--vermell);
	--marro: #63514b;

	--border: 1.5px solid var(--bgbeigefosc);
	--borderclar: 1.5px solid var(--bgbeigeclar);
	--bordergris: 1px solid var(--bgbeigemig);
	--borderverd: 1.5px solid var(--bgverdmig);

	/* Tipografia */
	--txt-10: 0.625rem; /* 10px */
	--txt-12: clamp(0.75rem, 0.8125vw, 0.8125rem); /* 12px */
	--txt-14: clamp(0.8125rem, 0.875vw, 0.875rem); /* 14px */
	--txt-15: clamp(0.875rem, 0.9375vw, 0.9375rem); /* 15px */
	--txt-16: clamp(0.9375rem, 1vw, 1rem); /* 16px */
	--txt-18: clamp(1rem, 1.0625vw, 1.125rem); /* 18px */
	--txt-20: clamp(1.125rem, 1.25vw, 1.25rem); /* 20px */

	--txt-22: clamp(1.1875rem, 1.375vw, 1.375rem); /* 22px */

	--txt-24: clamp(1.25rem, 1.5vw, 1.5rem); /* 24px */
	--txt-24-lh: 1.4;
	--txt-24-fw: 800;

	--txt-32: clamp(1.4375rem, 2vw, 2rem); /* 32px */
	--txt-32-lh: 1.3;
	--txt-32-fw: 900;

	--txt-36: clamp(1.6875rem, 2.25vw, 2.25rem); /* 36px */
	--txt-36-lh: 1.2;
	--txt-36-fw: 900;

	--txt-40: clamp(1.875rem, 2.5vw, 2.5rem); /* 40px */
	--txt-40-lh: 1.15;
	--txt-40-fw: 900;

	--txt-44: clamp(2rem, 2.75vw, 2.75rem); /* 44px */
	--txt-44-lh: 1.15;
	--txt-44-fw: 900;

	--txt-56: clamp(2.5rem, 3.5vw, 3.5rem); /* 56px */
	--txt-56-lh: 1;
	--txt-56-fw: 900;

	/* Mides */
	--gapXXXS: 4px;
	--gapXXS: clamp(0.5rem, 0.75vw, 0.75rem); /* 8px - 12px */
	--gapXS: clamp(0.75rem, 1vw, 1rem); /* 12px - 16px */
	--gapS: clamp(1rem, 1.5vw, 1.5rem); /* 16px - 24px */
	--wp--preset--spacing--30: var(--gapS);
	--wp--style--root--padding-right: var(--gapS);
	--wp--style--root--padding-left: var(--gapS);
	--gapM: clamp(1.5rem, 2.25vw, 2.25rem); /* 24px - 36px */
	--gapL: clamp(2rem, 3vw, 3rem); /* 32px - 48px */
	--gapXL: clamp(3rem, 4.5vw, 4.5rem); /* 48px - 72px */
	--gapXXL: clamp(4rem, 7.875vw, 7.875rem); /* 64px - 126px */
	--gap-block: clamp(1.875rem, 2.813vw, 3.75rem); /* 30px - 60px */
	--wrap: 1280px;
	--wrap-wide: 1600px;
	--wrap-narrow: 950px;
	--wrap-txt: 700px;
	--radius: 12px;
	--radiusS: 6px;
	--radiusXS: 3px;
	--swiper-pagination-bottom: 0;
}

/* RESET CSS */

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: 16px;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
	height: auto;
}

input,
button,
textarea,
select {
	font: inherit;
}

p h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

a {
	color: inherit;
}

strong {
	color: var(--marro);
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

button {
	cursor: pointer;
}

.hidden {
	display: none !important;
	visibility: hidden !important;
}

a[href*="wa.me"] {
	text-decoration-color: var(--bgverdmig);
	&::before {
		content: url("../assets/images/ico_wa_color.svg");
		margin-right: var(--gapXXXS);
	}
}

a[href^="#"]::after {
	content: "👇";
	display: inline-block;
	margin-left: var(--gapXXXS);
	font-size: 1.2em;
}

/* Redefinir estils WP default */

:root :where(.wp-element-button, .wp-block-button__link) {
	background-color: var(--verdfosc);
}

:where(.wp-block-group.wp-block-group-is-layout-constrained) {
	position: static;
}

a.wp-block-button__link {
	color: #fff;
	font-weight: 500;
	text-decoration: none;
	&:hover {
		text-decoration: underline;
	}
}

.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) .brq-profile,
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) .brq-header-tools {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

:where(.wp-site-blocks :focus) {
	outline: none;
}

/* BARRAQUETA */

body {
	background-color: var(--bgbody);
	color: var(--bodytxt);
	font-size: var(--txt-18);
	font-family: var(--font-body);
	font-weight: 400;
	line-height: 1.6;
}

main {
	padding-bottom: var(--gapXXL) !important;
}

.home main,
main:has(.bloc_rutes2),
.page-id-1067 main {
	padding-bottom: 0 !important;
}

.brq-products-teasers,
.brq-recipe-related-section {
	max-width: none !important;
}

/* Generals */

a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

a:hover {
	text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700;
	color: var(--verdfosc);
}

h1 {
	font-size: var(--txt-56);
	line-height: var(--txt-56-lh);
	font-family: var(--font-headings);
	font-weight: 600;
}

h2 {
	font-size: var(--txt-44);
	line-height: var(--txt-44-lh);
	font-family: var(--font-headings);
	font-weight: 600;
	&.pretitol {
		font-family: var(--font-body);
		text-transform: uppercase;
		font-size: var(--txt-14);
		letter-spacing: 0.2em;
	}
}

img {
	display: block;
}

figure.is-type-video {
	border-radius: var(--radius);
	overflow: hidden;
}

.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.logo_proximitat_ccpae {
	display: grid;
	grid-template-columns: 80px 1fr;
	align-items: start;
	gap: var(--gapM);
}

.entry-content .logo_proximitat {
	display: flex;
	flex-direction: column;
	gap: var(--gapXXS);
	margin-top: 0;
	font-size: var(--txt-12);
	line-height: 1.1;
	justify-content: start;

	figure {
		margin-left: 0 !important;
		margin-right: 0 !important;
		+ p {
			margin-top: 0;
		}
	}

	img {
		max-width: 100px;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

.nowrap {
	white-space: nowrap;
}

/* Colors */

.has-accent-6-background-color,
.has-custom-beige-background-color {
	h2,
	h3,
	a,
	a:visited {
		color: var(--marro);
	}
	a.wp-element-button,
	a.wp-block-button__link {
		background-color: var(--marro);
		color: #fff;
	}
}

.has-accent-4-background-color {
	h2,
	h3 {
		color: #425d50;
	}
}

/* Carousel - slideshow */

.swiper-wrapper {
	align-items: center;
}

.swiper-slide,
.wp-block-image {
	position: relative;
	figcaption {
		position: absolute;
		inset: auto 0 0;
		margin: 0;
		padding: 3rem 1.25rem 1.25rem;
		text-align: center;
		text-wrap: balance;
		color: #fff;
		text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
		background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.75) 100%);
		border-radius: 0 0 var(--radius) var(--radius);
		strong {
			color: #fff;
		}
	}
}

/* Header i footer */

#brq-notifications {
	padding: var(--gapXXS) var(--gapM);
	font-size: var(--txt-14);
	line-height: 1.3;
	background-color: var(--rosaclar);
	text-align: center;
}

.header_inner {
	display: grid;
	grid-template-columns: max-content 1fr;
	column-gap: var(--gapXS);
	justify-content: space-between;
	align-items: center;

	.header_opcions {
		display: flex;
		align-items: center;
		gap: var(--gapS);
		justify-content: flex-end;
		margin: 0 !important;
		justify-self: end;
	}

	.header_usuari {
		display: flex;
		align-items: center;
		gap: var(--gapS);
		justify-content: flex-end;
	}
}

.wp-block-site-title a {
	width: 140px;
	height: 65px;
	background: url("../assets/images/logo_barraqueta.png") no-repeat center center;
	background-size: contain;
	display: block;
	text-indent: -999em;
}

:root :where(.wp-block-navigation) {
	font-size: var(--txt-18);
}

header {
	.wp-block-navigation__container {
		gap: var(--gapS);
	}

	li {
		font-size: var(--txt-24);
		text-align: center;
	}

	a {
		text-decoration: none;
		font-weight: 600;

		&:hover {
			text-decoration: underline;
			color: var(--verdfosc) !important;
			text-underline-offset: 0.4em;
			text-decoration-thickness: 4px;
			text-decoration-color: var(--verdfosc);
		}
	}

	li[class*="current"] > a {
		color: var(--verdfosc) !important;
		font-weight: 700;
		text-decoration: underline;
		text-underline-offset: 0.4em;
		text-decoration-thickness: 4px;
		text-decoration-color: var(--verdfosc);
	}

	.menu-marge {
		margin-bottom: var(--gapL);
	}
}

.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg {
	width: 36px !important;
	height: 36px !important;
}

.preheader {
	color: var(--bodytxt);
	display: flex;
	justify-content: flex-end;
	gap: var(--gapM);
	width: 100%;

	nav {
		margin: 0 !important;
		display: none;
	}

	ul.wp-block-navigation__container {
		justify-content: flex-end;
	}

	a,
	a:visited {
		font-size: var(--txt-14);
		text-decoration: none;
	}

	a:hover {
		text-decoration: underline;
		text-underline-offset: 0.2em;
	}

	.brq-profile {
		position: relative;
	}

	.brq-profile__menu {
		position: absolute;
		top: 30px;
		right: 0;
		background-color: var(--bgbody);
		border: var(--border);
		border-radius: var(--radiusS);
		padding: var(--gapXXS) var(--gapM) var(--gapXS) var(--gapXS);
		z-index: 9999;
		font-size: var(--txt-14);
		box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
		white-space: nowrap;

		li {
			list-style-type: none;
			margin-bottom: 0.5em;
			display: flex;
			align-items: center;
			gap: var(--gapXXS);
			&::before {
				content: "\203A";
			}
			&:last-of-type {
				margin-bottom: 0;
			}
		}
	}
}

footer {
	margin-top: -20px;
	.wp-block-site-title {
		margin-bottom: var(--gapL);
		a {
			width: 200px;
			height: 80px;
			background: url("../assets/images/logo_barraqueta_blanc.png") no-repeat center center;
			background-size: contain;
		}
	}

	&::before {
		content: "";
		width: 100%;
		height: 30px;
		display: block;
		background: url(../assets/images/bg_footer2.svg) repeat-x;
	}

	.footer_columnes {
		display: grid;
		grid-template-columns: 1fr;
		padding-top: var(--gapM);
		padding-bottom: var(--gapXXL);
	}

	.footer_logos {
		color: rgba(255, 255, 255, 0.8);
		font-size: var(--txt-12);
		line-height: 1.1;

		.logo_proximitat_ccpae {
			margin-bottom: var(--gapM);
		}

		.footer_ccpae,
		.logo_proximitat {
			img {
				height: 100px;
				width: auto;
				object-fit: contain;
			}
		}

		.footer_gencat {
			display: flex;
			flex-direction: column;
			justify-content: start;
			gap: var(--gapXXS);
			margin-top: 0;
			font-size: var(--txt-12);
			line-height: 1.1;

			p {
				margin: 0 !important;
			}
			img {
				width: 160px;
				margin: 0 !important;
			}
		}
	}

	.footer_imgbg img {
		display: none;
	}
}

/* Bloc intro - home i capcaleres */

.entry-content .bloc_intro.wp-block-media-text.has-background {
	overflow: hidden;
	margin-top: 0 !important;
	margin-bottom: var(--gapL) !important;
	border-radius: 0;

	p {
		font-size: var(--txt-20);
	}

	figure {
		border-radius: 0;
	}
}

.entry-content .wp-block-media-text {
	row-gap: 0;
}

/* Grid 2 i 4 - WP Bloc group */

.entry-content {
	.wp-block-columns {
		display: grid;
		grid-template-columns: 1fr;
		column-gap: var(--gapL);
		margin-top: var(--gapXXL);
		margin-bottom: var(--gapXXL);
		max-width: 800px;
		&:last-of-type {
			margin-bottom: 0;
		}
		.wp-block-column:has(.cb-carousel-block) {
			order: -1;
		}
	}

	.grid2.wp-block-columns,
	.grid4.wp-block-columns {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--gapS);
	}
}

/* Bloc WP accordion */

.wp-block-accordion {
	.wp-block-accordion-item {
		padding: var(--gapXS) 0;
		border-bottom: 1px dashed var(--verdfosc);
		&.is-open {
			padding-bottom: var(--gapS);
		}

		h3 {
			font-size: var(--txt-20);
			font-family: var(--font-body);
			font-weight: 500;
		}

		.wp-block-accordion-panel {
			height: 0;
			transition: height 0.3s ease-in-out;
		}

		&.is-open .wp-block-accordion-panel {
			height: auto;
			transition: height 0.3s ease-in-out;
			padding-top: var(--gapXS);
		}

		a.wp-block-button__link {
			background-color: var(--bgverdclar);
			color: var(--marro);
			padding: var(--gapXXS) var(--gapS);
			font-size: var(--txt-16);
			font-weight: 600;
		}
	}
}

/* Bloc WP imatge + text */

.wp-block-media-text {
	row-gap: var(--gapXL);
}

.entry-content .wp-block-media-text.has-background {
	border-radius: var(--radius);
	overflow: hidden;
	img,
	figure {
		border-radius: 0;
	}
}

/* Bloc cistelles home */

.entry-content .bloc_cistelles {
	.wp-block-columns {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--gapM);
		margin-top: 0;

		> .wp-block-column > .wp-block-column:first-of-type {
			margin-bottom: 0;
		}
	}

	.bloc_cistelles_graella .wp-block-column {
		display: flex;
		flex-direction: column;
		gap: var(--gapS);
		align-items: center;
		justify-content: center;

		img {
			aspect-ratio: 1.8 !important;
			object-fit: contain;
		}
	}

	> .wp-block-columns > .wp-block-column:first-of-type {
		margin-bottom: var(--gapM);
	}
}

/* Bloc llistat punts recollida + mercat */

.entry-content .bloc_rutes,
.entry-content .bloc_rutes2 {
	h2 {
		margin-bottom: 0.75em;
	}
	strong {
		color: var(--verdfosc);
	}

	ul {
		list-style: none;
		padding-left: 0;
		border-radius: var(--radiusS) var(--radiusS) 0 0;
		margin: var(--gapXS) 0 0 0;
		font-size: var(--txt-16);
		line-height: 1.4;
		li {
			border-bottom: 1px dashed var(--bgbeigefosc);
			padding: var(--gapXXS) var(--gapS);
			margin: 0;

			&:last-child {
				border-bottom: none;
			}
		}
		&.llistat_ruta li {
			position: relative;
			padding: var(--gapXXS) var(--gapS) var(--gapXXS) var(--gapM);

			&::before {
				content: "";
				position: absolute;
				left: 0;
				top: 0.7em;
				width: 1em;
				height: 1em;
				background-color: var(--verdfosc);
				mask: url("../assets/images/bullet_ruta.svg") no-repeat center / contain;
			}
		}

		&.llistat_domicili {
			border-radius: var(--radiusS);

			li {
				position: relative;
				padding: var(--gapXXS) var(--gapS) var(--gapXXS) 2em;

				&::before {
					content: "";
					position: absolute;
					left: 0;
					top: 0.5em;
					width: 1.5em;
					height: 1.8em;
					background-color: var(--verdfosc);
					mask: url("../assets/images/ico_furgo.svg") no-repeat center / contain;
				}
			}
		}

		+ p:first-of-type {
			background-color: var(--verdfosc);
			padding: var(--gapXXS) var(--gapS);
			border-radius: var(--radiusS);
			font-size: var(--txt-15);
			text-align: center;

			a,
			a:visited {
				color: #fff;
				text-decoration-color: transparent;
			}

			a:hover {
				text-decoration-color: inherit;
			}
		}
	}

	.bloc_rutes_mercat_selva {
		background-color: var(--bg-semitransparent2);
		padding: var(--gapS) var(--gapS);
		border-radius: var(--radiusS);
		h4 {
			margin-bottom: 0.5em;
		}
		p {
			margin-top: 0;
		}
	}
}

.entry-content .bloc_rutes {
	> .wp-block-columns > .wp-block-column {
		padding: var(--gapL) 8%;
		border-radius: var(--radius);
	}
	ul.llistat_ruta {
		background-color: var(--bg-semitransparent2);
		li {
			padding-left: 3em;
			&::before {
				left: 1em;
			}
		}
		+ p:first-of-type {
			margin-top: 0;
			border-radius: 0 0 var(--radiusS) var(--radiusS);
		}
	}
}

.entry-content .bloc_rutes2 {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gapXS);
	background-color: transparent;
	font-size: var(--txt-16);
	line-height: 1.4;

	.wp-block-group[class*="bloc_rutes"] {
		width: 100%;
		padding: var(--gapM);
		border-radius: var(--radiusS);
		background-color: var(--bg-semitransparent);
	}

	h3 {
		font-size: var(--txt-24);
	}
}

.home .llistat_domicili {
	background-color: var(--bg-semitransparent2);
	li {
		padding-left: 3em !important;
		&::before {
			left: 1em !important;
		}
	}
}

/* Bloc notícies home */

.bloc_noticies {
	background: url("../assets/images/bg_dibuix_negre03_07.png") no-repeat left bottom;
}

/* Bloc pàgina intro amb serifa */

.entry-content .pagina_intro {
	font-family: var(--fontserif);
	font-weight: 370;
	text-align: center;
	font-size: var(--txt-24);
	line-height: 1.2;
	max-width: 1000px;
	> * {
		text-align: center;
	}

	p {
		margin-top: 1em;
		margin-bottom: 1em;
		text-wrap: balance;
		max-width: 100%;
	}
}

/* Teaser vertical / Latest posts */

.teaser_vert,
.wp-block-latest-posts__list li,
.wp-block-latest-posts.is-grid li {
	background-color: var(--bg-semitransparent);
	border-radius: var(--radius);
	overflow: hidden;
	position: relative;
	transition: background-color 0.3s ease-in-out;
	margin: 0;

	img {
		width: 100%;
		max-width: none;
	}

	&:hover {
		background-color: #fff;
		transition: background-color 0.3s ease-in-out;
	}

	h3 {
		font-size: var(--txt-20);
		margin-bottom: 0.5em;
	}

	a {
		display: block;
		text-decoration: none;
		&::before {
			content: "";
			position: absolute;
			top: 0px;
			right: 0px;
			bottom: 0px;
			left: 0px;
		}
	}

	p {
		font-size: var(--txt-16);
		margin-top: 0;
		line-height: 1.4;
	}

	.teaser_vert_content {
		padding: var(--gapXS) var(--gapS) var(--gapS) var(--gapS);
	}
	a[class*="post-title"] {
		font-size: var(--txt-18);
		line-height: 1.3;
		padding: var(--gapL) var(--gapS) var(--gapXL) var(--gapS);
		font-weight: 700;
		min-height: 80px;
	}
}

.teaser_vert_ombra,
.wp-block-latest-posts__list li {
	position: relative;

	img {
		aspect-ratio: 9/16;
		object-fit: cover;
		max-height: 70vh;
	}

	.teaser_vert_content,
	a[class*="post-title"] {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.3) 80%, transparent);
		color: #fff;
		padding-top: var(--gapL);
		display: block;
		a,
		a:visited {
			color: #fff;
			text-decoration: none;
		}
	}

	.wp-block-latest-posts__post-date {
		color: #fff;
		position: absolute;
		z-index: 999;
		bottom: var(--gapS);
		left: var(--gapS);
		font-size: var(--txt-14);
	}
}

.wp-block-latest-posts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
	gap: var(--gapS);
	padding-left: 0 !important;

	li {
		margin-top: 0 !important;
	}
}

/* Single notícia +  recepta */

.single-post,
.single-brq_recipe {
	figure.wp-block-post-featured-image {
		margin-bottom: var(--gapM);
		margin-top: var(--gapM);
		overflow: hidden;
		border-radius: var(--radius);
	}
}

.single-post .wp-block-query figure.wp-block-post-featured-image {
	margin-bottom: 0;
	margin-top: 0;
}

.single-post .wp-block-post-featured-image img {
	border-radius: var(--radius);
	width: auto;
	max-width: 100%;
	max-height: 90vh;
	object-fit: contain;
}

.teaser_noticia_relacionats {
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: var(--gapS);
	align-items: center;
	padding: 0;

	> .wp-block-group {
		margin: 0 !important;
	}
}

.recepta_relacionats {
	display: flex;
	justify-content: center;
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}
.brq-recipe-related-section {
	width: 100%;
}

/* Apartat Col·laboradors */

.ppp-colaboradors {
	max-width: 100% !important;
}
.ppp-colaboradors__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--gapXS);
}

.ppp-colaboradors__card {
	display: block;
	width: 100%;
	border: 0;
	padding: 0;
	background: transparent;
	cursor: pointer;
}

.ppp-colaboradors__thumb-wrap {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: var(--radius);
	background: #f1f1f1;
}

.ppp-colaboradors__thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ppp-colaboradors__thumb--placeholder {
	background: linear-gradient(135deg, #e9e9e9 0%, #d8d8d8 100%);
}

/* Pàgines en general */

.wp-singular:not(.home) {
	h1.wp-block-post-title {
		margin-bottom: 1em !important;
	}
}

.entry-content {
	font-size: var(--txt-18);

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		margin-top: 2em;
		margin-bottom: 1em /*!important*/;
	}

	h3.wp-block-accordion-heading {
		margin-bottom: 0;
	}

	.bloc_faqs h2 {
		margin-bottom: 0.5em;
	}

	*:not(.has-background) > h2:first-child,
	*:not(.has-background) > h3:first-child {
		margin-top: 0;
	}

	p,
	blockquote {
		margin-top: 1.5em;
		margin-bottom: 1.5em;
	}

	ol,
	ul {
		padding-left: 1.5em;
		margin-top: 1em;
		li {
			margin-top: 0.5em;
			margin-bottom: 0.5em;
			&::marker {
				color: var(--bgverdmig);
				font-weight: 700;
			}
		}
	}

	> figure {
		margin-top: var(--gapM) !important;
		margin-bottom: var(--gapM) !important;
	}

	.bloc_faqs {
		margin-bottom: var(--gapXXL) !important;
		&:last-of-type {
			margin-bottom: 0 !important;
		}
	}

	> .wp-block-media-text {
		margin-top: var(--gapXXL) !important;
		margin-bottom: var(--gapXXL) !important;
	}

	figure.wp-block-image.alignwide.size-large {
		max-width: 1200px;
	}

	figure,
	img {
		margin-left: auto;
		margin-right: auto;
		display: block;
	}

	figure.wp-block-gallery {
		display: flex;
		gap: var(--gapS);
	}

	img {
		border-radius: var(--radius);
		width: auto;
		max-width: 100%;
		max-height: 90vh;
		object-fit: contain;
	}

	.wp-block-cover {
		line-height: 1.3;
		font-weight: 450;
		text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
		text-wrap: balance;
		min-height: unset;
		padding-top: var(--gapXL);
		padding-bottom: var(--gapL);
		position: relative;
		text-align: center;

		*:last-child {
			margin: 0;
		}

		img {
			border-radius: 0;
		}

		h1 {
			margin-bottom: 0.5em;
		}

		p {
			max-width: 800px;
			text-wrap: balance;
			line-height: 1.1;
			&.has-text-align-center {
				margin-left: auto !important;
				margin-right: auto !important;
			}
		}

		+ * {
			margin-top: var(--gapXL);
		}
	}

	.bloc_mercat {
		border-radius: var(--radius);
		overflow: hidden;
	}
}

/* Blocs */

.box_contacte {
	background-color: #fff;
	border-radius: var(--radius);
	padding: var(--gapM);

	&:last-child {
		margin-bottom: 0 !important;
	}
}

.entry-content .wp-block-media-text__content {
	h2 {
		margin-bottom: 0.5em;
	}
	p {
		margin-top: 0.75em;
		margin-bottom: 0.75em;
	}
}

#faqs_comanda_home {
	margin-bottom: var(--gapM) !important;
}

/* Fons de pàgines */

.page-id-673 main {
	background: url(../assets/images/bg_dibuix_negre03_07.png) no-repeat left bottom;
	background-attachment: fixed;
	background-blend-mode: multiply;
}

.page-id-763 main {
	background: url(../assets/images/bg_dibuix_negre03_02.png) no-repeat left bottom;
	background-attachment: fixed;
	background-blend-mode: multiply;
}

.quees_agroecologia {
	background: url(../assets/images/bg_dibuix_blanc_2.png) no-repeat right bottom;
	background-blend-mode: soft-light;
	background-size: 50% auto;
}

/* Modals */

.ppp-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}

.ppp-modal.is-open {
	display: flex;
}

.ppp-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
}

.ppp-modal__dialog {
	position: relative;
	width: min(640px, 100%);
	max-height: 80vh;
	overflow-y: auto;
	background: #fff;
	border-radius: var(--radius);
	padding: var(--gapL);
	z-index: 1;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
}

.ppp-modal__close {
	position: absolute;
	top: 0.5rem;
	right: 0.75rem;
	border: 0;
	background: transparent;
	font-size: 1.8rem;
	line-height: 1;
	cursor: pointer;
}

.ppp-modal__title {
	margin: 0 0 0.75rem;
}

.ppp-modal__description > :first-child {
	margin-top: 0;
}

.ppp-modal__description > :last-child {
	margin-bottom: 0;
}

/* Formularis */

input,
textarea,
select,
button {
	font-family: var(--font-body);
	display: block;
	&[hidden] {
		display: none;
	}
}

input,
select,
textarea,
button[type="submit"],
.login input,
button.brq-button {
	border-radius: var(--radiusXS);
	border: var(--border);
	font-size: var(--txt-16);
	padding: var(--gapXXS) var(--gapXS);
	background-color: var(--bg-semitransparent);
	&:focus {
		background-color: #fff;
		border-color: var(--verdfosc);
		box-shadow: 0 0 0 2px var(--bgverdclar);
	}
}

label {
	/*display: flex;
	flex-direction: column;
	gap: var(--gapXXXS);
	align-items: flex-start;*/
	font-size: var(--txt-18);
}

label:has(input[type="checkbox"]) {
	flex-direction: row;
	align-items: start;

	text-align: left;
	input[type="checkbox"] {
		width: 1.2em;
		height: 1.2em;
		display: inline-block;
		border: var(--border);
		position: relative;
		top: 0.2em;
		margin-right: var(--gapXS);
	}
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="url"],
input[type="search"],
select {
	width: 100%;
	min-width: 240px;
}

textarea {
	width: 100%;
	max-width: 400px;
}

button[type="submit"],
input[type="submit"],
.login input[type="submit"],
button.brq-button {
	background-color: var(--verdfosc);
	border-color: transparent;
	color: #fff;
	min-width: 180px;
	font-size: var(--txt-18);
	font-weight: 700;
	border-radius: var(--radiusXS);
	padding: var(--gapXXS) var(--gapS);
	&:hover,
	&:focus {
		background-color: var(--marro);
		border-color: var(--marro);
	}

	&.brq-button--small {
		font-size: var(--txt-14);
		padding: var(--gapXXXS) var(--gapXXS);
	}
}

/********************
RESPONSIVE
********************/

@media (min-width: 500px) {
	.entry-content .logo_proximitat,
	footer .footer_logos .logo_proximitat {
		display: grid;
		grid-template-columns: 110px 1fr;
		align-items: center;
		margin: 0 !important;

		.wp-block-paragraph {
			max-width: 220px;
			margin: 0 !important;
		}
	}
}

@media (min-width: 600px) {
	/* Grid 2 i 4 - WP Bloc group */

	.entry-content {
		.wp-block-columns .wp-block-column:has(.cb-carousel-block) {
			order: unset;
		}
		.grid4.wp-block-columns,
		.grid2.wp-block-columns {
			grid-template-columns: repeat(2, 1fr);
			.teaser_vert {
				height: 100%;
			}
		}
	}

	.ppp-colaboradors__grid {
		grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
		gap: var(--gapM);
	}
}

@media (min-width: 768px) {
	body {
		font-size: var(--txt-18);
	}
	.hide_desktop {
		display: none;
	}

	/* Header i footer */
	.wp-block-site-title a {
		width: 200px;
		height: 92px;
	}

	footer {
		.footer_columnes {
			padding-top: var(--gapXL);
		}

		.footer_logos {
			.footer_gencat img {
				width: 180px;
			}
		}
	}

	/* Bloc intro - home i capcaleres */

	.entry-content .bloc_intro.wp-block-media-text.has-background {
		max-width: 1400px;
		margin: var(--gapS) auto !important;
		border-radius: var(--radius) !important;
		min-height: 45vh;

		h2 {
			margin-bottom: 0;
		}
	}

	/* Bloc cistelles home */

	.entry-content .bloc_cistelles .bloc_cistelles_graella {
		grid-template-columns: 1fr 1fr;
		column-gap: var(--gapS);
	}

	/* Bloc rutes 2 - Compacte */

	.entry-content .bloc_rutes2 {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"h2 h2"
			"ruta1 ruta2"
			"domicili mercat";

		h2.wp-block-heading {
			grid-area: h2;
			margin-left: 0 !important;
			margin-right: 0 !important;
			max-width: none !important;
		}

		.bloc_rutes2_ruta1 {
			grid-area: ruta1;
		}

		.bloc_rutes2_ruta2 {
			grid-area: ruta2;
		}

		.bloc_rutes2_domicili {
			grid-area: domicili;
		}

		.bloc_rutes2_mercat {
			grid-area: mercat;
		}

		ul.llistat_ruta li {
			padding: var(--gapXXS) var(--gapS) var(--gapXXS) var(--gapM);
		}
	}

	/* Pàgines en general */
	.wp-singular:not(.home) .entry-content .wp-block-cover {
		font-size: var(--txt-24);
		line-height: var(--txt-24-lh);

		padding-top: var(--gapXXL);
		padding-bottom: var(--gapXXL);
	}
}

@media (min-width: 1024px) {
	.wp-block-site-title a {
		width: 240px;
		height: 110px;
	}

	.preheader nav {
		display: flex;
	}

	header {
		.wp-block-navigation {
			margin-left: 0 !important;
			margin-right: 0 !important;
		}

		.wp-block-navigation__container {
			.menu-marge {
				margin-bottom: 0;
			}
		}
		.wp-block-navigation .wp-block-navigation-item.hide_desktop {
			display: none;
		}

		li {
			font-size: var(--txt-18);
		}
	}

	.header_inner {
		.header_opcions {
			flex-direction: column;
			align-items: flex-end;
		}

		.header_usuari {
			margin: 0 !important;
		}
	}

	/* Columnes en general */

	.entry-content .wp-block-columns {
		grid-template-columns: 1fr 1fr;
		max-width: 1400px;
		column-gap: var(--gapXL);
		margin-top: var(--gapXXL);
		margin-bottom: var(--gapXXL);
		.wp-block-column.has-background {
			padding: var(--gapXL) var(--gapL);
			border-radius: var(--radius);
		}
	}

	/* Grid 2 i 4 - WP Bloc group */

	.entry-content .grid4.wp-block-columns {
		grid-template-columns: repeat(4, 1fr);
	}

	/* Blocs home - dibuixos de fons */

	.home .entry-content {
		.bloc_cistelles {
			background: url("../assets/images/bg_dibuix_negre03_05.png") no-repeat 10% calc(100% - 50px);
		}

		#faqs_comanda_home {
			background: url("../assets/images/bg_dibuix_negre03_02.png") no-repeat left bottom;
		}

		.bloc_rutes {
			background: url("../assets/images/bg_dibuix_negre03_08.png") no-repeat right bottom;
		}
	}

	/* Bloc cistelles home */

	.entry-content .bloc_cistelles {
		> .wp-block-columns {
			grid-template-columns: 1fr 1.5fr;
		}
	}

	/* Bloc rutes 2 - Compacte */

	.entry-content .bloc_rutes2 {
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-areas:
			"h2 h2 h2"
			"ruta1 ruta2 domicili"
			"ruta1 ruta2 mercat";

		ul.llistat_ruta li {
			padding: var(--gapXXS) var(--gapS);
			&::before {
				top: 0.85em;
			}
		}
	}

	/* Footer */

	footer .footer_columnes {
		grid-template-columns: minmax(430px, 1fr) 1fr;

		figure.footer_imgbg {
			position: relative;
			top: calc((var(--gapXL) + 20px) * -1);
			max-width: 700px;

			img {
				display: block;
			}
		}
	}
}

@media (max-width: 1023px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
	/* Mantenir el nav amagat (com si fos < 600px) */
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
		position: fixed;
		width: auto;
		z-index: initial;
	}
}
/* Menú partir de 1024px */
@media (min-width: 1024px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none;
	}
}
