/* AIF – filtres (Post Filter) i paginació dels Loops de Divi 5 amb l'estil del tema */

:root {
	--aif-blue: #183a74;
	--aif-blue-border: #003399;
	--aif-blue-soft: rgba(0, 51, 153, 0.08);
	--aif-text: #212121;
}

/* Panell de filtres: mateix contorn que les targetes */
.et_pb_post_filter .et_pb_post_filter__controls {
	display: flex !important;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 18px 20px;
	padding: 24px 28px;
	border: 1px solid var(--aif-blue);
	border-radius: 10px;
	background: #fff;
}

.et_pb_post_filter .et_pb_post_filter_item {
	flex: 1 1 200px !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

/* Els botons van junts a la dreta */
.et_pb_post_filter .et_pb_post_filter_item:has(.et_pb_post_filter__item-control-button) {
	flex: 0 0 auto !important;
}

.et_pb_post_filter .et_pb_post_filter_item:has(.et_pb_post_filter__item-control-reset) {
	margin-left: auto !important;
}

/* Les caselles i els botons de ràdio de categoria ocupen tota l'amplada */
.et_pb_post_filter .et_pb_post_filter_item:has(.et_pb_post_filter__item-options-wrapper--checkbox),
.et_pb_post_filter .et_pb_post_filter_item:has(.et_pb_post_filter__item-options-wrapper--radio) {
	flex-basis: 100% !important;
}

.et_pb_post_filter .et_pb_post_filter__item-label {
	display: block;
	margin-bottom: 6px;
	font-family: Aptos, sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--aif-blue);
}

/* Camps de text i desplegables */
.et_pb_post_filter input.et_pb_post_filter__item-control:not([type="checkbox"]):not([type="radio"]),
.et_pb_post_filter select.et_pb_post_filter__item-control {
	width: 100%;
	height: 44px;
	padding: 0 12px !important;
	border: 1px solid var(--aif-blue) !important;
	border-radius: 6px !important;
	background-color: #fff !important;
	color: var(--aif-text) !important;
	font-family: Aptos, sans-serif;
	font-size: 15px !important;
}

.et_pb_post_filter input.et_pb_post_filter__item-control:focus,
.et_pb_post_filter select.et_pb_post_filter__item-control:focus {
	outline: 2px solid var(--aif-blue-border);
	outline-offset: 1px;
}

/* Botons: Apply com el botó principal del tema, Reset com a secundari */
.et_pb_post_filter button.et_pb_post_filter__item-control-button {
	height: 44px;
	padding: 0 28px !important;
	border-radius: 6px !important;
	font-family: Aptos, sans-serif;
	font-size: 16px !important;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}

.et_pb_post_filter button.et_pb_post_filter__item-control-button::after {
	display: none !important;
}

.et_pb_post_filter button.et_pb_post_filter__item-control-submit {
	border: 3px solid var(--aif-blue-border) !important;
	background: var(--aif-blue) !important;
	color: #fff !important;
}

.et_pb_post_filter button.et_pb_post_filter__item-control-submit:hover {
	background: var(--aif-blue-border) !important;
}

.et_pb_post_filter button.et_pb_post_filter__item-control-reset {
	border: 1px solid var(--aif-blue) !important;
	background: #fff !important;
	color: var(--aif-blue) !important;
}

.et_pb_post_filter button.et_pb_post_filter__item-control-reset:hover {
	background: var(--aif-blue-soft) !important;
}

/* Caselles com a "pastilles"; cada categoria pare encapçala el seu grup */
.et_pb_post_filter .et_pb_post_filter__item-options-list {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px 10px;
}

.et_pb_post_filter .et_pb_post_filter__item-option--checkbox,
.et_pb_post_filter .et_pb_post_filter__item-option--radio {
	display: inline-flex !important;
	margin: 0 !important;
	padding: 0 !important;
}

.et_pb_post_filter .et_pb_post_filter__item-option--checkbox:not(.et_pb_post_filter__item-option--depth),
.et_pb_post_filter .et_pb_post_filter__item-option--radio:not(.et_pb_post_filter__item-option--depth) {
	flex-basis: 100%;
	margin-top: 8px !important;
}

.et_pb_post_filter .et_pb_post_filter__item-option--checkbox:first-child,
.et_pb_post_filter .et_pb_post_filter__item-option--radio:first-child {
	margin-top: 0 !important;
}

.et_pb_post_filter .et_pb_post_filter__item-option--checkbox label,
.et_pb_post_filter .et_pb_post_filter__item-option--radio label {
	display: inline-flex;
	align-items: center;
	padding: 6px 14px;
	border: 1px solid var(--aif-blue);
	border-radius: 999px;
	background: #fff;
	color: var(--aif-blue);
	font-family: Aptos, sans-serif;
	font-size: 14px;
	line-height: 1.3;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s;
}

.et_pb_post_filter .et_pb_post_filter__item-option--checkbox:not(.et_pb_post_filter__item-option--depth) label,
.et_pb_post_filter .et_pb_post_filter__item-option--radio:not(.et_pb_post_filter__item-option--depth) label {
	background: var(--aif-blue-soft);
	font-weight: 700;
}

.et_pb_post_filter .et_pb_post_filter__item-option--checkbox label i,
.et_pb_post_filter .et_pb_post_filter__item-option--radio label i {
	display: none !important;
}

.et_pb_post_filter .et_pb_post_filter__item-option--checkbox label:hover,
.et_pb_post_filter .et_pb_post_filter__item-option--radio label:hover {
	background: var(--aif-blue-soft);
}

.et_pb_post_filter .et_pb_post_filter__item-control-checkbox:checked + label,
.et_pb_post_filter .et_pb_post_filter__item-control-radio:checked + label {
	background: var(--aif-blue);
	color: #fff;
}

.et_pb_post_filter .et_pb_post_filter__item-control-checkbox:focus-visible + label,
.et_pb_post_filter .et_pb_post_filter__item-control-radio:focus-visible + label {
	outline: 2px solid var(--aif-blue-border);
	outline-offset: 2px;
}

/* Paginació dels Loops */
.et_pb_posts_nav[data-target-loop] {
	display: flex !important;
	justify-content: space-between;
	gap: 16px;
	margin-top: 30px;
}

.et_pb_posts_nav[data-target-loop] .nav-next {
	margin-left: auto;
}

.et_pb_posts_nav[data-target-loop] a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 42px;
	padding: 0 26px;
	border: 1px solid var(--aif-blue);
	border-radius: 6px;
	color: var(--aif-blue) !important;
	font-family: Aptos, sans-serif;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

.et_pb_posts_nav[data-target-loop] a:hover {
	background: var(--aif-blue);
	color: #fff !important;
}

@media (max-width: 767px) {
	.et_pb_post_filter .et_pb_post_filter__controls {
		padding: 18px;
	}

	.et_pb_post_filter .et_pb_post_filter_item:has(.et_pb_post_filter__item-control-button) {
		flex: 1 1 calc(50% - 10px) !important;
	}

	.et_pb_post_filter button.et_pb_post_filter__item-control-button {
		width: 100%;
	}
}

/* Service Catalogue com era: filtre a l'esquerra i llistat d'una columna */
@media (min-width: 981px) {
	.et_pb_section:has(> .et_pb_row > [data-loop-key="loop-aif-services"]) {
		display: grid !important;
		grid-template-columns: minmax(260px, 300px) 1fr;
		column-gap: 40px;
		align-items: start;
		width: min(1170px, 90%);
		margin-left: auto;
		margin-right: auto;
	}

	.et_pb_section:has(> .et_pb_row > [data-loop-key="loop-aif-services"]) > .et_pb_row {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		grid-column: 2;
	}

	.et_pb_section:has(> .et_pb_row > [data-loop-key="loop-aif-services"]) > .et_pb_row:has(.et_pb_post_filter) {
		grid-column: 1;
		grid-row: 1 / span 3;
	}
}

.et_pb_row:has(> [data-loop-key="loop-aif-services"]) {
	grid-template-columns: 1fr !important;
}

/* Events com era: llistat d'una columna amb la imatge a l'esquerra */
.et_pb_row:has(> [data-loop-key="loop-aif-events"]) {
	grid-template-columns: 1fr !important;
}

@media (min-width: 768px) {
	[data-loop-key="loop-aif-events"] {
		display: grid !important;
		grid-template-columns: minmax(220px, 34%) 1fr;
		column-gap: 28px;
		align-items: start;
	}

	[data-loop-key="loop-aif-events"] > .et_pb_image {
		grid-column: 1;
		grid-row: 1 / span 6;
	}

	[data-loop-key="loop-aif-events"] > :not(.et_pb_image) {
		grid-column: 2;
	}
}

/* Targetes en llistat d'una columna: sense alçades mínimes pensades per a graella */
[data-loop-key="loop-aif-services"],
[data-loop-key="loop-aif-events"] {
	row-gap: 10px !important;
	padding-top: 24px !important;
}

[data-loop-key="loop-aif-services"] > .et_pb_text,
[data-loop-key="loop-aif-events"] > .et_pb_text {
	min-height: 0 !important;
}

[data-loop-key="loop-aif-services"] > .et_pb_button_module_wrapper,
[data-loop-key="loop-aif-events"] > .et_pb_button_module_wrapper {
	margin: 8px 30px 0 !important;
	justify-self: start;
	align-self: flex-start;
}

/* Subcategories una mica sagnades */
.et_pb_post_filter .et_pb_post_filter__item-option--depth-1 {
	margin-left: 14px !important;
}

[data-loop-key="loop-aif-events"] {
	padding-top: 0 !important;
}

@media (min-width: 768px) {
	[data-loop-key="loop-aif-events"] > .et_pb_image img {
		border-radius: 10px;
	}

	[data-loop-key="loop-aif-events"] > .et_pb_image + .et_pb_text {
		margin-top: 20px !important;
	}
}

/* Llistat sense resultats (p. ex. Open Calls sense convocatòries obertes) */
.aif-loop-empty {
	width: 100%;
	padding: 24px 28px;
	border: 1px solid var(--aif-blue);
	border-radius: 10px;
	background: var(--aif-blue-soft);
	color: var(--aif-blue);
	font-family: Aptos, sans-serif;
	font-size: 17px;
}

.aif-loop-empty p {
	margin: 0;
	padding: 0;
}

/* Events com News (.aifactory_blog del tema): files alternes en gris, imatge amb marc blanc i ombra */
.et_pb_row:has(> [data-loop-key="loop-aif-events"]) {
	row-gap: 0 !important;
}

[data-loop-key="loop-aif-events"] {
	margin: 0 !important;
	padding: 20px 50px 20px 20px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent;
}

[data-loop-key="loop-aif-events"]:nth-child(odd) {
	background: #eaebeb;
}

[data-loop-key="loop-aif-events"] > .et_pb_image img {
	border: 8px solid #fff;
	border-radius: 0 !important;
	box-shadow: 0 0 10px 4px rgba(119, 119, 119, 0.25);
}

[data-loop-key="loop-aif-events"] > .et_pb_text,
[data-loop-key="loop-aif-events"] > .et_pb_button_module_wrapper {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

@media (min-width: 768px) {
	[data-loop-key="loop-aif-events"] {
		grid-template-columns: 30% 1fr;
		column-gap: 30px;
	}

	[data-loop-key="loop-aif-events"] > .et_pb_image + .et_pb_text {
		margin-top: 10px !important;
	}
}

/* La secció del llistat d'Events porta la classe subTitleH1 (75% d'amplada): el llistat ocupa l'amplada completa com a News */
.et_pb_section.subTitleH1:has([data-loop-key="loop-aif-events"]) {
	width: auto;
}

/* Training Catalogue: taula com l'antiga estàtica (capçalera + files amb vores fines) */
.et_pb_row.aif-tcat-head,
.et_pb_row.aif-tcat-row {
	width: min(1170px, 90%) !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border: 1px solid #e1e1e1;
	border-top: 0;
	align-items: stretch !important;
}

.et_pb_row.aif-tcat-head {
	border-top: 1px solid #e1e1e1;
}

.aif-tcat-head > .et_pb_column,
.aif-tcat-row > .et_pb_column {
	display: flex;
	align-self: stretch !important;
	height: auto !important;
	align-items: center;
	justify-content: center;
	padding: 14px 12px !important;
	border-right: 1px solid #e1e1e1;
}

.aif-tcat-head > .et_pb_column:last-child,
.aif-tcat-row > .et_pb_column:last-child {
	border-right: 0;
}

.aif-tcat-head .et_pb_text,
.aif-tcat-row .et_pb_text {
	width: 100%;
	margin: 0 !important;
}

.aif-tcat-head .et_pb_text_inner p,
.aif-tcat-row .et_pb_text_inner p {
	padding: 0;
	line-height: 1.5;
}

.aif-tcat-row .et_pb_text_inner p {
	color: var(--aif-text);
	font-size: 15px;
}

.aif-tcat-head .et_pb_text_inner p {
	color: var(--aif-blue);
	font-size: 19px;
}

@media (max-width: 980px) {
	.et_pb_row.aif-tcat-head {
		display: none !important;
	}

	.aif-tcat-row > .et_pb_column {
		border-right: 0;
		padding: 4px 12px !important;
	}

	.et_pb_row.aif-tcat-row {
		padding: 10px 0 !important;
		border-top: 0;
	}

	.aif-tcat-row > .et_pb_column:nth-child(3) .et_pb_text_inner p {
		font-weight: 600;
	}
}
