/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ==========================================================================
   Catàleg de cursos — components de la targeta (shortcodes curs_*)
   ========================================================================== */

/* Badge de categoria + durada */
.curs-badge {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 999px;
	font-family: 'Gotham', sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
	color: #FFFFFF;
	vertical-align: middle;
}

.curs-badge--salut,
.curs-badge--salud,
.curs-badge--health {
	background-color: var(--e-global-color-secondary, #0F71A5);
}

.curs-badge--social,
.curs-badge--social-es,
.curs-badge--social-en {
	background-color: #F59337;
}

.curs-badge--educacio,
.curs-badge--educacion,
.curs-badge--education {
	background-color: var(--e-global-color-accent, #EE4A4B);
}

.curs-hores {
	display: inline-block;
	margin-left: 8px;
	font-family: 'Gotham', sans-serif;
	font-size: 13px;
	font-weight: 400;
	color: var(--e-global-color-text, #667085);
	vertical-align: middle;
}

/* Imatge destacada amb overlay "Properament" */
.curs-media {
	position: relative;
	overflow: hidden;
	border-radius: 14px 14px 0 0;
}

.curs-media__enllac {
	display: block;
	position: relative;
	line-height: 0;
}

.curs-media img {
	display: block;
	width: 100%;
	height: 226px;
	object-fit: cover;
}

.curs-media__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	background: rgba(16, 24, 40, 0.55);
	color: #FFFFFF;
	text-align: center;
}

.curs-media__properament {
	font-family: 'Gotham', sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #FFFFFF;
}

/* Xip de dates: fons blanc, vora del color de la categoria, text navy */
.curs-dates {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border: 1.5px solid var(--e-global-color-secondary, #0F71A5);
	border-radius: 999px;
	background: #FFFFFF;
	font-family: 'Gotham', sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--e-global-color-primary, #101828);
}

.curs-dates--social,
.curs-dates--social-es,
.curs-dates--social-en {
	border-color: #F59337;
}

.curs-dates--educacio,
.curs-dates--educacion,
.curs-dates--education {
	border-color: var(--e-global-color-accent, #EE4A4B);
}

.curs-dates__text strong {
	font-weight: 700;
}

/* Peu de targeta: preu + botó / no disponible + bloquejat */
.curs-peu {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
}

/* Peu sense preu (cursos amb inscripció encara no oberta): botó a la dreta */
.curs-peu--fitxa {
	justify-content: flex-end;
}

.curs-preu {
	font-family: 'Gotham', sans-serif;
	font-size: 24px;
	font-weight: 700;
	color: var(--e-global-color-primary, #101828);
}

.curs-btn {
	display: inline-block;
	padding: 9px 20px;
	border-radius: 999px;
	background-color: var(--e-global-color-secondary, #0F71A5);
	font-family: 'Gotham', sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: #FFFFFF !important;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

a.curs-btn:hover,
a.curs-btn:focus {
	background-color: #0C5D88;
	color: #FFFFFF;
}

.curs-btn--bloquejat {
	background-color: #EAECF0;
	color: #98A2B3 !important;
	cursor: default;
}

/* Botó secundari: cursos "properament", que sí que porten a la fitxa */
.curs-btn--secundari,
a.curs-btn--secundari {
	background-color: #FFFFFF;
	border: 1px solid var(--e-global-color-secondary, #0F71A5);
	color: var(--e-global-color-secondary, #0F71A5) !important;
	padding: 8px 19px;
}

a.curs-btn--secundari:hover,
a.curs-btn--secundari:focus {
	background-color: var(--e-global-color-secondary, #0F71A5);
	color: #FFFFFF !important;
}

.curs-nodisponible {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: 'Gotham', sans-serif;
	font-size: 13px;
	color: #98A2B3;
}

/* Extracte de la targeta limitat a 2 línies (amb "…" en lloc de tallar la línia).
   El !important cal perquè Elementor imposa display:flow-root al títol del widget. */
.curs-excerpt .elementor-heading-title {
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}

/* Títol de la targeta: màxim 3 línies i alçada reservada perquè els blocs
   inferiors quedin alineats entre targetes amb títols de llargada diferent. */
.e-loop-item .elementor-widget-heading:not(.curs-excerpt) .elementor-heading-title {
	display: -webkit-box !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	overflow-wrap: break-word;
}

/* Filtres de l'arxiu de cursos (pills) */
.curs-filtres {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.curs-filtre {
	display: inline-block;
	padding: 10px 22px;
	border-radius: 999px;
	background: transparent;
	font-family: 'Gotham', sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	color: #364153;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.curs-filtre:hover,
.curs-filtre:focus {
	background-color: #EAECF0;
	color: var(--e-global-color-primary, #101828);
}

/* Pill activa segons l'arxiu que s'està veient (body class de WP).
   Inclou els slugs dels termes traduïts (es/en) de categoria_curs. */
body.post-type-archive-curs .curs-filtre--tots,
body.tax-categoria_curs.term-salut .curs-filtre--salut,
body.tax-categoria_curs.term-salud .curs-filtre--salut,
body.tax-categoria_curs.term-health .curs-filtre--salut,
body.tax-categoria_curs.term-social .curs-filtre--social,
body.tax-categoria_curs.term-social-es .curs-filtre--social,
body.tax-categoria_curs.term-social-en .curs-filtre--social,
body.tax-categoria_curs.term-educacio .curs-filtre--educacio,
body.tax-categoria_curs.term-educacion .curs-filtre--educacio,
body.tax-categoria_curs.term-education .curs-filtre--educacio {
	background-color: var(--e-global-color-secondary, #0F71A5);
	color: #FFFFFF;
}

/* Comptador de resultats ("6 cursos trobats") */
.curs-comptador {
	font-family: 'Gotham', sans-serif;
	font-size: 14px;
	color: var(--e-global-color-text, #667085);
}

/* ==========================================================================
   Interior de la fitxa de curs (shortcodes curs_competencies, curs_continguts,
   curs_metode, curs_dirigit, curs_docent)
   ========================================================================== */

.curs-int {
	margin-top: 24px;
	font-family: 'Gotham', sans-serif;
}

.curs-int .curs-int-titol {
	margin: 0 0 22px;
	font-family: 'Gotham', sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--e-global-color-primary, #101828);
}

/* Competències a assolir: llista de checks blaus */
.curs-int .curs-int-checks {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.curs-int .curs-int-check {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
}

.curs-int .curs-int-check__icona {
	flex: 0 0 auto;
	margin-top: 2px;
	color: var(--e-global-color-secondary, #0F71A5);
}

.curs-int .curs-int-check__text {
	font-size: 15px;
	line-height: 1.55;
	color: var(--e-global-color-primary, #101828);
}

/* Continguts del curs: targetes numerades (Figma) */
.curs-int .curs-int-files {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.curs-int .curs-int-fila {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 24px 28px;
	border: 1px solid #EAECF0;
	border-radius: 12px;
	background-color: #FFFFFF;
}

.curs-int .curs-int-fila__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background-color: #E5EFF5;
	font-family: 'Gotham', sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--e-global-color-secondary, #0F71A5);
}

.curs-int .curs-int-fila__titol {
	margin: 0 0 4px;
	font-family: 'Gotham', sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
	color: var(--e-global-color-primary, #101828);
}

.curs-int .curs-int-fila__durada {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	font-weight: 500;
	color: var(--e-global-color-secondary, #0F71A5);
}

.curs-int .curs-int-fila__desc {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--e-global-color-text, #667085);
}

/* Mètode d'aprenentatge: graella 2×2 de caixes */
.curs-int .curs-int-graella {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

@media (max-width: 767px) {
	.curs-int .curs-int-graella {
		grid-template-columns: 1fr;
	}
}

.curs-int .curs-int-caixa {
	border: 0;
	border-left: 4px solid var(--e-global-color-secondary, #0F71A5);
	border-radius: 10px;
	padding: 24px 26px;
	background-color: #F9FAFB;
}

.curs-int .curs-int-caixa__titol {
	margin: 0 0 8px;
	font-family: 'Gotham', sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

.curs-int .curs-int-caixa--blau .curs-int-caixa__titol,
.curs-int .curs-int-caixa--taronja .curs-int-caixa__titol,
.curs-int .curs-int-caixa--vermell .curs-int-caixa__titol {
	color: var(--e-global-color-primary, #101828);
}

.curs-int .curs-int-caixa__text {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--e-global-color-text, #667085);
}

/* A qui va dirigit: pills suaus */
.curs-int .curs-int-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.curs-int .curs-int-pill {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 50px;
	background-color: #E1EDF4;
	font-family: 'Gotham', sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--e-global-color-secondary, #0F71A5);
}

/* "El curs inclou:" (targeta lateral) */
.curs-int-inclou {
	font-family: 'Gotham', sans-serif;
}

.curs-int-inclou .curs-int-inclou__titol {
	margin: 0 0 14px;
	font-family: 'Gotham', sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--e-global-color-primary, #101828);
}

.curs-int-inclou .curs-int-inclou__llista {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.curs-int-inclou .curs-int-inclou__item {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
}

.curs-int-inclou .curs-int-inclou__item .curs-int-check__icona {
	flex: 0 0 auto;
	margin-top: 2px;
	color: var(--e-global-color-secondary, #0F71A5);
}

.curs-int-inclou .curs-int-inclou__text {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--e-global-color-text, #667085);
}

/* Equip Docent: targeta amb inicials */
.curs-int .curs-int-docents__llista {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.curs-int .curs-int-docent {
	display: flex;
	align-items: flex-start;
	gap: 20px;
	border: 0;
	border-radius: 0;
	padding: 0;
}

.curs-int .curs-int-docent__inicials {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: var(--e-global-color-secondary, #0F71A5);
	font-family: 'Gotham', sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.5px;
	color: #FFFFFF;
}

.curs-int .curs-int-docent__nom {
	margin: 0 0 2px;
	font-family: 'Gotham', sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--e-global-color-primary, #101828);
}

.curs-int .curs-int-docent__carrec {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--e-global-color-secondary, #0F71A5);
}

.curs-int .curs-int-docent__bio {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--e-global-color-text, #667085);
}

/* ============================================================
   Animacions subtils i micro-detalls (globals, tots els idiomes)
   ============================================================ */

/* Targetes del loop de cursos: elevació suau al hover */
.e-loop-item {
	transition: transform .25s ease, box-shadow .25s ease;
}
.e-loop-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(16, 24, 40, .10);
}
.e-loop-item .curs-media {
	overflow: hidden;
}
.e-loop-item .curs-media img {
	transition: transform .45s ease;
}
.e-loop-item:hover .curs-media img {
	transform: scale(1.04);
}

/* Botons: micro-elevació */
.elementor-button {
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease !important;
}
.elementor-button:hover {
	transform: translateY(-1px);
}

/* Header sticky: transició d'ombra */
.elementor-location-header .e-con[data-settings*="sticky"] {
	transition: box-shadow .3s ease;
}

/* Footer: enllaços que s'aclareixen */
.elementor-location-footer a {
	transition: color .2s ease, opacity .2s ease;
}
.elementor-location-footer a:hover {
	color: #FFFFFF !important;
	opacity: 1;
}

/* Revelat en entrar al viewport (classe posada per aula-reveal.js) */
.aula-reveal {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .5s ease-out, transform .5s ease-out;
	transition-delay: var(--aula-reveal-delay, 0ms);
}
.aula-reveal.aula-in {
	opacity: 1;
	transform: none;
}
@media (prefers-reduced-motion: reduce) {
	.aula-reveal {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	.e-loop-item, .e-loop-item .curs-media img, .elementor-button {
		transition: none !important;
	}
}

/* Grid de cursos: totes les targetes amb la mateixa alçada, peu alineat a baix */
.elementor-loop-container {
	align-items: stretch;
}
.e-loop-item.e-con {
	height: 100%;
	display: flex;
	flex-direction: column;
}
/* La caixa blanca real de la targeta és filla de .e-loop-item: ha d'omplir
   tota la cel·la perquè totes les targetes de la fila acabin a la mateixa
   alçada encara que els títols tinguin un nombre de línies diferent. */
.e-loop-item > .e-con,
.e-loop-item > .e-parent {
	height: 100%;
	display: flex;
	flex-direction: column;
}
.e-loop-item .elementor-widget-shortcode:has(.curs-peu) {
	margin-top: auto;
}

/* Grid: el cos de la targeta creix perquè el peu quedi sempre a baix */
.e-loop-item.e-con > .e-con-child:last-child,
.e-loop-item.e-con > .e-con-full:last-child,
.e-loop-item > .e-parent > .e-con:last-child {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

/* Títol de la targeta: reserva 3 línies al desktop perquè el xip de dates i
   el peu quedin alineats entre targetes (a mòbil van apilades, no cal). */
@media (min-width: 768px) {
	.e-loop-item .elementor-widget-heading:not(.curs-excerpt) .elementor-heading-title {
		min-height: calc(3 * 1.35em);
	}
}

/* Els fons decoratius de molècules desapareixen a mòbil (tapaven contingut) */
@media (max-width: 767px) {
	.te-molecules,
	.te-molecules:not(.elementor-motion-effects-element-type-background) {
		background-image: none !important;
	}
	.te-molecules > .elementor-background-overlay,
	.te-molecules::before,
	.te-molecules > .e-con-inner::before {
		background-image: none !important;
	}
}

/* == FIX FIGMA CONTACTE == */
.elementor-17 .elementor-field-type-acceptance > label.elementor-field-label { display: none; }
.elementor-17 .elementor-field-type-submit .elementor-button,
.elementor-17 .e-form__buttons .elementor-button { width: auto !important; flex: 0 0 auto !important; align-self: flex-start; white-space: nowrap; }

/* == FIX FIGMA CATALEG == */
/* Decoració de molècules a la capçalera de l'arxiu de cursos (com al Figma) */
.elementor-location-archive {
	position: relative;
}

/* Les decoracions de molècules (::before de l'arxiu i imatges absolutes de la
   fitxa) sobresurten per la dreta i provoquen scroll horitzontal "fantasma".
   overflow-x: clip retalla sense crear caixa de scroll (no trenca sticky). */
.elementor-location-archive,
.elementor-location-single,
.elementor-location-header,
.elementor-location-footer,
body > .site-main,
main.site-main {
	overflow-x: clip;
}

body {
	overflow-x: clip;
}

/* Llistes d'icones en línia (telèfon/correu de la barra superior): a mòbil no
   hi cabien en una sola línia i sortien de la pantalla. */
.elementor-icon-list-items.elementor-inline-items,
.elementor-widget-icon-list .elementor-icon-list-items.elementor-inline-items {
	flex-wrap: wrap !important;
}
.elementor-icon-list-items.elementor-inline-items .elementor-icon-list-text {
	overflow-wrap: anywhere;
}
/* Barra superior del header a mòbil: telèfon i correu poden passar a més
   d'una línia en comptes de sortir de la pantalla. */
@media (max-width: 767px) {
	.elementor-location-header .e-con-inner {
		flex-wrap: wrap;
	}
	.elementor-icon-list-text,
	.elementor-icon-list-item,
	.elementor-icon-list-item > a {
		white-space: normal !important;
		overflow-wrap: anywhere;
		min-width: 0;
	}
}

@media (max-width: 479px) {
	.elementor-location-header .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-text {
		font-size: 12px;
	}
}

/* Paraules molt llargues ("neurodesenvolupament", "pluridiscapacitat") no
   caben en pantalles petites i feien desbordar els titulars. */
@media (max-width: 767px) {
	h1, h2, h3, h4,
	.elementor-heading-title,
	.curs-titol-fitxa {
		overflow-wrap: break-word;
		word-break: break-word;
		hyphens: auto;
	}
}
/* (La decoració de molècules de l'arxiu ara és un widget d'imatge a la plantilla 30, vegeu scripts/molecules-pages-2026-09-09.php) */
}

/* Peu de la targeta: espai extra abans del peu, com al Figma (sense divisor) */
.e-loop-item .elementor-widget-shortcode:has(.curs-peu) {
	padding-top: 12px;
}

/* == FIX FIGMA SINGLE == */

/* Breadcrumb de la fitxa */
.curs-bc {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Gotham', sans-serif;
	font-size: 14px;
}

.curs-bc .curs-bc__item {
	color: var(--e-global-color-text, #667085);
	text-decoration: none;
}

.curs-bc .curs-bc__item--actual {
	color: var(--e-global-color-secondary, #0F71A5);
}

.curs-bc .curs-bc__sep {
	color: #98A2B3;
}

/* Pills d'àncora sota el breadcrumb */
.curs-ancores {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.curs-ancores .curs-ancora {
	display: inline-block;
	padding: 11px 26px;
	border: 1.5px solid #8FBBD4;
	border-radius: 50px;
	font-family: 'Gotham', sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--e-global-color-secondary, #0F71A5);
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}

.curs-ancores .curs-ancora:hover {
	background-color: #E5EFF5;
	color: var(--e-global-color-secondary, #0F71A5);
}

/* Badge de categoria en línia (no ample complet) */
.curs-badge-inline {
	width: auto !important;
	align-self: flex-start;
}

.curs-badge-inline .elementor-heading-title {
	display: inline-block;
}

/* Títol i introducció de la fitxa */
.curs-titol-fitxa {
	margin: 0;
	font-family: 'Gotham', sans-serif;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--e-global-color-primary, #101828);
}

.curs-intro-fitxa {
	margin: 0;
	font-family: 'Gotham', sans-serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--e-global-color-text, #667085);
}

/* Fila de metadades amb icones sota el contingut */
.curs-meta-fila {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	margin-top: 4px;
}

.curs-meta-fila .curs-meta-fila__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.curs-meta-fila .curs-meta-fila__icona {
	display: inline-flex;
	color: var(--e-global-color-text, #667085);
}

.curs-meta-fila .curs-meta-fila__text {
	font-family: 'Gotham', sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: var(--e-global-color-primary, #101828);
}

/* Caixa groga "places limitades" de la targeta lateral */
.curs-places-box {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 14px 18px;
	border: 1px solid #F2E3BF;
	border-radius: 10px;
	background-color: #FFFBEB;
	font-family: 'Gotham', sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #A8622E;
}

.curs-places-box .curs-places-box__titol {
	font-weight: 700;
}

/* Caixa del certificat de la targeta lateral */
.curs-cert-box {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px;
	border-radius: 10px;
	background-color: #F2F6F9;
}

.curs-cert-box .curs-cert-box__icona {
	display: inline-flex;
	flex: 0 0 auto;
	color: var(--e-global-color-secondary, #0F71A5);
}

.curs-cert-box .curs-cert-box__text {
	font-family: 'Gotham', sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--e-global-color-primary, #101828);
}

/* Taula "Horaris i Calendari" sense icones (Figma) */
.curs-horaris-figma .elementor-widget-icon {
	display: none !important;
}

/* Pills "A qui va dirigit" compactes com al Figma (una sola línia) */
.curs-int .curs-int-pills {
	gap: 8px;
}

.curs-int .curs-int-pill {
	padding: 9px 14px;
	font-size: 13.5px;
}

/* Decoració de molècules del single: mai no intercepta clics */
.curs-molecules-decor {
	pointer-events: none;
}

/* == FIX FIGMA HOME == */
/* Al Figma, les targetes de destacats de la portada no porten extracte ni xip de data */
body.home .elementor-29 .elementor-element-ca9d006 { display: none; }


/* ==========================================================================
   Canvis 2026-09-09: llista per data, "Properament", compartir, docents amb
   foto, preheader en una línia
   ========================================================================== */

/* Xip "Properament" (cursos sense data d'inici) */
.curs-dates.curs-dates--properament {
	border-color: #98A2B3;
	background: #F9FAFB;
	color: #475467;
}

/* Peu de targeta unificat: només el botó "Veure fitxa", a la dreta */
.curs-peu.curs-peu--fitxa {
	justify-content: flex-end;
}

/* Compartir el curs (targeta lateral de la fitxa) */
.curs-compartir {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px 20px;
	border: 1px solid #EAECF0;
	border-radius: 10px;
	background: #FFFFFF;
	font-family: 'Gotham', sans-serif;
}

.curs-compartir__titol {
	font-size: 14px;
	font-weight: 700;
	color: var(--e-global-color-primary, #101828);
}

.curs-compartir__botons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.curs-compartir__btn,
button.curs-compartir__btn,
a.curs-compartir__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 12px;
	border: 1px solid #EAECF0;
	border-radius: 999px;
	background: #FFFFFF;
	font-family: 'Gotham', sans-serif;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--e-global-color-primary, #101828);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.curs-compartir__btn svg {
	flex: 0 0 auto;
	color: var(--e-global-color-secondary, #0F71A5);
}

.curs-compartir__btn:hover,
.curs-compartir__btn:focus-visible,
button.curs-compartir__btn:hover,
a.curs-compartir__btn:hover {
	border-color: var(--e-global-color-secondary, #0F71A5);
	background: #E5EFF5;
	color: var(--e-global-color-primary, #101828);
}

.curs-compartir__btn--whatsapp svg { color: #25D366; }
.curs-compartir__btn--linkedin svg { color: #0A66C2; }
.curs-compartir__btn.is-copiat {
	border-color: #12B76A;
	background: #ECFDF3;
}

/* Docent amb foto (mateixa mida que el cercle d'inicials) */
.curs-int .curs-int-docent__foto {
	display: block;
	flex: 0 0 auto;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	overflow: hidden;
	background: #EAECF0;
}

.curs-int .curs-int-docent__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Preheader (topbar del header): telèfon + correu sempre en una línia.
   (!important perquè més amunt hi ha una regla genèrica amb flex-wrap: wrap !important) */
.elementor-location-header .elementor-widget-icon-list .elementor-icon-list-items.elementor-inline-items {
	display: flex;
	flex-wrap: nowrap !important;
	align-items: center;
}

.elementor-location-header .elementor-widget-icon-list .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item {
	width: auto;
	white-space: nowrap;
}

.elementor-location-header .elementor-widget-icon-list .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-text {
	overflow-wrap: normal;
}

@media (max-width: 480px) {
	.elementor-location-header .elementor-widget-icon-list .elementor-icon-list-items.elementor-inline-items {
		flex-wrap: wrap !important;
	}
}

/* Portada segons Figma (/page): la imatge del hero sobresurt del bloc blau */
@media (min-width: 1025px) {
	.elementor-element-07f76e1 {
		z-index: 2;
	}
	/* Columna de la foto: alineada a dalt amb el text (el títol) */
	.elementor-element-07f76e1 > .e-con-inner > .elementor-element-076ee30 {
		align-self: flex-start !important;
		margin-bottom: 0 !important;
	}

	/* Foto del hero quadrada (Figma), a la dreta de la columna */
	.elementor-element-07f76e1 .elementor-element-4222246 img {
		width: 100%;
		max-width: 580px;
		height: auto !important;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		margin-left: auto;
	}
}

/* Molècula decorativa de la portada (Figma /page): PNG gran i subtil, només es mou amb l'scroll */
.elementor-widget.aula-molecula {
	pointer-events: none;
	user-select: none;
}

.elementor-widget.aula-molecula img {
	display: block;
}

/* El contingut de qualsevol contenidor amb molècula queda per sobre d'ella */
.e-con:has(> .e-con-inner > .aula-molecula) > .e-con-inner > *:not(.aula-molecula),
.e-con:has(> .aula-molecula) > *:not(.aula-molecula) {
	position: relative;
	z-index: 1;
}

/* Les molècules absolutes amb offsets negatius no han de crear scroll horitzontal */
.e-con:has(> .e-con-inner > .aula-molecula),
.e-con:has(> .aula-molecula) {
	overflow-x: clip;
}


/* Targeta flotant del hero ("La persona al centre"), Figma /page */
.aula-hero-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 18px 12px 14px;
	border-radius: 14px;
	background: #FFFFFF;
	box-shadow: 0 16px 36px -12px rgba(11, 28, 51, 0.35);
	font-family: 'Gotham', sans-serif;
	min-width: 220px;
}

.aula-hero-card__icona {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #F59337;
	color: #FFFFFF;
}

.aula-hero-card__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.aula-hero-card__text strong {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--e-global-color-primary, #101828);
}

.aula-hero-card__text small {
	font-size: 11px;
	line-height: 1.3;
	color: #667085;
}

.elementor-widget.aula-hero-card-w {
	animation: aula-flota 6s ease-in-out infinite alternate;
}

@keyframes aula-flota {
	from { transform: translateY(0); }
	to   { transform: translateY(-8px); }
}

/* Secció de cursos: la franja blau clar comença a mitja targeta (Figma) */
@media (min-width: 1025px) {
	.elementor-element-2e81e3a {
		background-image: linear-gradient(to bottom, #FFFFFF 0, #FFFFFF 340px, transparent 340px) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor-widget.aula-hero-card-w { animation: none; }
}

/* La molècula pot sortir per la dreta sense provocar scroll horitzontal */
.elementor-element-366dc85 {
	overflow-x: clip;
}


/* Sobre Nosaltres · equip de la Comissió amb foto (2026-09-10) */
.elementor-widget-image-box.aula-equip-foto .elementor-image-box-img {
	flex: 0 0 56px;
	width: 56px;
	margin-right: 14px;
}

.elementor-widget-image-box.aula-equip-foto .elementor-image-box-img img {
	display: block;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
}

.elementor-widget-image.aula-equip-foto-coord img {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
}


/* ---------------------------------------------------------------------------
   Canvis 2026-09-15 (Word "HOME PAGE.docx" de la Júlia + newsletter)
   --------------------------------------------------------------------------- */

/* Portada · enllaç "Veure cursos" a dalt a la dreta de "Tres àmbits": a
   escriptori puja a l'alçada del títol (centrat, no hi xoca); a mòbil queda
   centrat sota el títol. */
.elementor-widget.aula-ambits-link {
	margin-top: 4px;
	margin-bottom: 6px;
}
@media (min-width: 1025px) {
	.elementor-widget.aula-ambits-link {
		margin-top: -44px;
		margin-bottom: 4px;
	}
}
.elementor-widget.aula-ambits-link .elementor-button {
	background: transparent !important;
	color: var(--e-global-color-secondary, #0F71A5) !important;
	border: 1.5px solid var(--e-global-color-secondary, #0F71A5);
	padding: 10px 20px;
	font-weight: 500;
}
.elementor-widget.aula-ambits-link .elementor-button:hover {
	background: var(--e-global-color-secondary, #0F71A5) !important;
	color: #FFFFFF !important;
}

/* Patrocinadors · franja blanca al final del footer, a totes les pàgines
   (2026-09-16; substitueix la franja única que hi havia a Sobre Nosaltres) */
.elementor-location-footer .elementor-element.aula-patrocinadors-footer {
	width: 100%;
}
.elementor-element.aula-patrocinadors-logos > .elementor-widget-image.aula-patrocinador {
	width: auto;
	--container-widget-width: auto;
	flex: 0 0 auto;
}
.elementor-widget-image.aula-patrocinador img {
	display: block;
	height: 44px;
	width: auto;
	max-width: 100%;
}
@media (max-width: 767px) {
	.elementor-widget-image.aula-patrocinador img {
		height: 36px;
	}
}

/* Sobre Nosaltres · botó "Veure currículum" a cada persona de l'equip
   (2026-09-16). L'enllaç es posa des d'Elementor; si el botó no té URL, no es
   mostra. */
.elementor-widget-button.aula-cv-boto {
	width: auto;
	--container-widget-width: auto;
	flex: 0 0 auto;
	margin-top: 4px;
}
.elementor-widget-button.aula-cv-boto .elementor-button {
	background: transparent !important;
	color: var(--e-global-color-secondary, #0F71A5) !important;
	border: 1.5px solid var(--e-global-color-secondary, #0F71A5);
	padding: 5px 12px;
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.3;
}
.elementor-widget-button.aula-cv-boto .elementor-button:hover {
	background: var(--e-global-color-secondary, #0F71A5) !important;
	color: #FFFFFF !important;
}
.elementor-widget-button.aula-cv-boto .elementor-button:not([href]),
.elementor-widget-button.aula-cv-boto .elementor-button[href=""],
.elementor-widget-button.aula-cv-boto .elementor-button[href="#"] {
	display: none;
}
.elementor-widget-button.aula-cv-boto--comp {
	margin-top: 2px;
	margin-left: 70px;
}
@media (max-width: 767px) {
	.elementor-widget-button.aula-cv-boto--comp {
		margin-left: 70px;
	}
}

/* Footer · subscripció al butlletí (formulari Pro Elements, acció email +
   Mailchimp quan hi hagi les claus) */
.elementor-location-footer .aula-newsletter {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.elementor-location-footer .aula-newsletter .elementor-field-group {
	margin-bottom: 0;
}
.elementor-location-footer .aula-newsletter .elementor-field-type-email .elementor-field {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #FFFFFF;
	border-radius: 50px;
	padding: 12px 18px;
	font-family: 'Gotham', sans-serif;
	font-size: 14px;
	min-height: 46px;
}
.elementor-location-footer .aula-newsletter .elementor-field-type-email .elementor-field::placeholder {
	color: #9DA9BC;
}
.elementor-location-footer .aula-newsletter .elementor-field-type-email .elementor-field:focus {
	border-color: rgba(255, 255, 255, 0.5);
	outline: none;
}
.elementor-location-footer .aula-newsletter .elementor-field-type-submit .elementor-button,
.elementor-location-footer .aula-newsletter .e-form__buttons .elementor-button {
	width: auto !important;
	flex: 0 0 auto !important;
	min-height: 46px;
	white-space: nowrap;
	background-color: var(--e-global-color-taronja, #F59337) !important;
	color: #FFFFFF !important;
}
.elementor-location-footer .aula-newsletter .elementor-field-type-submit .elementor-button:hover,
.elementor-location-footer .aula-newsletter .e-form__buttons .elementor-button:hover {
	background-color: #FFFFFF !important;
	color: var(--e-global-color-primary, #101828) !important;
}
.elementor-location-footer .aula-newsletter .elementor-field-type-acceptance > label.elementor-field-label {
	display: none;
}
.elementor-location-footer .aula-newsletter .elementor-field-type-acceptance .elementor-field-subgroup label {
	color: #9DA9BC;
	font-family: 'Gotham', sans-serif;
	font-size: 12px;
	line-height: 1.5;
}
.elementor-location-footer .aula-newsletter .elementor-field-type-acceptance a {
	color: #FFFFFF;
	text-decoration: underline;
}
.elementor-location-footer .aula-newsletter .elementor-message {
	color: #FFFFFF;
	font-family: 'Gotham', sans-serif;
	font-size: 13px;
}
.elementor-location-footer .aula-newsletter .elementor-message-success {
	color: #7ED0A3;
}

/* ==========================================================================
   Fitxa de curs — canvis 2026-09-16 (document "FITXES DELS CURSOS")
   ========================================================================== */

/* Botó "Veure currículum" sota la bio de cada docent. */
.curs-int-docent__accions {
	margin: 10px 0 0;
}

.curs-int-docent__accions a.curs-int-docent__cv,
.curs-int-docent__cv {
	display: inline-block;
	padding: 7px 16px;
	border: 1px solid var(--e-global-color-secondary, #0F71A5);
	border-radius: 50px;
	color: var(--e-global-color-secondary, #0F71A5);
	font-family: 'Gotham', sans-serif;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}

.curs-int-docent__cv:hover,
.curs-int-docent__cv:focus {
	background: var(--e-global-color-secondary, #0F71A5);
	color: #FFFFFF;
}

/* Cursos amb la inscripció bloquejada: dins de la capsa només el botó
   "Avisa'm quan es publiqui" (s'amaguen el text, el formulari i el pagament). */
.curs-avisam {
	margin-top: 8px;
}

.curs-avisam a.curs-avisam__boto,
.curs-avisam__boto {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 50px;
	background: var(--e-global-color-secondary, #0F71A5);
	color: #FFFFFF;
	font-family: 'Gotham', sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color .2s ease;
}

.curs-avisam a.curs-avisam__boto:hover,
.curs-avisam a.curs-avisam__boto:focus,
.curs-avisam__boto:hover,
.curs-avisam__boto:focus {
	background: var(--e-global-color-primary, #101828);
	color: #FFFFFF;
}

body.curs-bloquejat .elementor-element-871913a,
body.curs-bloquejat .elementor-element-2de1afd,
body.curs-bloquejat .elementor-element-6a96ec3 {
	display: none !important;
}

/* Franja de patrocinadors a baix de tot de Sobre Nosaltres. */
.aula-patrocinadors-pagina {
	background: #FFFFFF;
}

/* ------------------------------------------------------------------ *
 * Pagament del curs amb Stripe (2026-09-17).
 * La caixa "Pagament segur" ([curs_pagament]) només pinta res si el curs
 * té enllaç de pagament; si no, s'amaga el contenidor sencer.
 * ------------------------------------------------------------------ */
body.curs-sense-pagament .aula-pagament-box {
	display: none !important;
}

.curs-pagament__titol {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-family: 'Gotham', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--e-global-color-primary, #101828);
}

.curs-pagament__icona {
	flex: 0 0 auto;
	color: var(--e-global-color-secondary, #0F71A5);
}

.curs-pagament__text {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--e-global-color-text, #667085);
}

.curs-pagament__marques {
	margin: 0;
	font-size: 12px;
	letter-spacing: .02em;
	color: var(--e-global-color-gris_suau, #98A2B3);
}

.curs-inscripcio-intro {
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--e-global-color-text, #667085);
}

/* L'àncora del formulari d'inscripció ha de quedar sota la capçalera sticky. */
#inscripcio-curs {
	scroll-margin-top: 130px;
}

@media (max-width: 1024px) {
	#inscripcio-curs {
		scroll-margin-top: 90px;
	}
}
