﻿/**
 * Fitxa «servei»: targeta lateral, bloc contacte, enllaços (pastilles), mapa, icona.
 * Es carrega només en singular servei (front + editor d'aquest CPT).
 * Tokens: vegeu guiaestilo.md i theme.json.
 */
body.single-servei,
.block-editor-block-list__layout {
	--palamos-h1-size: var(--wp--preset--font-size--x-large, 2rem);
	--palamos-h2-size: var(--wp--preset--font-size--large, 1.5rem);
	--palamos-h3-size: 1.125rem;
	--palamos-text-body-size: var(--wp--preset--font-size--medium, 1rem);
	--palamos-text-body-line-height: 1.6;
	--palamos-color-text-body: var(--wp--preset--color--text-corporatiu, #4a4a4a);
	--palamos-color-heading: var(--wp--preset--color--blau-capcalera, #006699);
	--palamos-color-link: var(--wp--preset--color--blau-institucional, #1a4f7a);
	--palamos-radius-card: 14px;
	--palamos-radius-pill: 10px;
	--palamos-sidebar-title-size: 1.375rem;
	--palamos-sidebar-label-size: 0.8125rem;
	--palamos-sidebar-detail-size: 0.9375rem;
	--palamos-servei-imatge-max-height: 22rem;
}
/* Fitxa servei: espai abans del peu (general.css posa padding-bottom:0 al main). */
body.single-servei main.wp-block-group {
	padding-bottom: var(--wp--preset--spacing--70, 3rem) !important;
	padding-block-end: var(--wp--preset--spacing--70, 3rem) !important;
}

/* Targeta lateral: ombra suau i més aire interior. */
.palamos-servei-sidebar-card {
	border-width: 1px !important;
	border-color: color-mix(in srgb, var(--wp--preset--color--blau-institucional, #1a4f7a) 14%, var(--wp--preset--color--blau-clar, #e8f4f8)) !important;
	border-radius: var(--palamos-radius-card) !important;
	padding: 1.5rem 1.5rem var(--wp--preset--spacing--60, 2rem) !important;
	box-shadow:
		0 2px 8px -2px rgba(10, 22, 40, 0.06),
		0 12px 28px -8px rgba(26, 79, 122, 0.12);
}
/* Capçalera de fitxa: icona + títol alineats (ample complet, sobre les columnes). */
.palamos-servei-capitolera {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 1.25rem;
	margin-bottom: var(--wp--preset--spacing--50, 1.5rem);
}
/* Sense logo ACF: el bloc shortcode buit no reserva espai ni gap. */
.palamos-servei-capitolera > .wp-block-shortcode:not(:has(.palamos-servei-logo, .palamos-servei-icona)) {
	display: none;
	margin: 0;
	padding: 0;
	width: 0;
	min-height: 0;
	overflow: hidden;
}
.palamos-servei-capitolera:not(:has(.palamos-servei-logo, .palamos-servei-icona)) {
	gap: 0;
}
.palamos-servei-capitolera > .wp-block-shortcode:has(.palamos-servei-logo, .palamos-servei-icona),
.palamos-servei-capitolera > .palamos-servei-logo,
.palamos-servei-capitolera > .palamos-servei-icona {
	flex: 0 0 auto;
	margin: 0;
}
.palamos-servei-capitolera .wp-block-post-title,
.palamos-servei-capitolera > .wp-block-post-title {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0 !important;
	font-size: var(--palamos-h1-size);
	font-weight: 700;
	line-height: 1.2;
	color: var(--wp--preset--color--blau-fosc, #0a1628);
}
.palamos-servei-capitolera .palamos-servei-logo,
.palamos-servei-capitolera .palamos-servei-icona {
	margin: 0;
}
.palamos-servei-capitolera .palamos-servei-logo__img,
.palamos-servei-capitolera .palamos-servei-icona__img {
	display: block;
	width: 4.75rem;
	height: 4.75rem;
	max-width: 4.75rem;
	max-height: 4.75rem;
	object-fit: contain;
}
.palamos-servei-fitxa > .wp-block-columns {
	margin-top: 0;
}
@media (max-width: 767px) {
	.palamos-servei-capitolera {
		flex-wrap: wrap;
		gap: 0.75rem;
	}
	.palamos-servei-capitolera .palamos-servei-logo__img,
	.palamos-servei-capitolera .palamos-servei-icona__img {
		width: 3.5rem;
		height: 3.5rem;
		max-width: 3.5rem;
		max-height: 3.5rem;
	}
}

/* Imatge destacada: columna principal, sobre la descripció. */
.palamos-servei-fitxa .wp-block-column > .wp-block-shortcode:not(:has(.palamos-servei-imatge)) {
	display: none;
	margin: 0;
	padding: 0;
}
.palamos-servei-imatge {
	box-sizing: border-box;
	width: 100%;
	height: var(--palamos-servei-imatge-max-height, 22rem);
	max-height: var(--palamos-servei-imatge-max-height, 22rem);
	margin: 0 0 var(--wp--preset--spacing--50, 1.5rem);
	overflow: hidden;
	border-radius: var(--palamos-radius-card);
}
.palamos-servei-imatge__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
/* Cos: descripciÃ³ ACF i contingut de lâ€™editor. */
.palamos-servei-descripcio,
.palamos-servei-fitxa .wp-block-post-content {
	font-size: var(--palamos-text-body-size);
	line-height: var(--palamos-text-body-line-height);
	color: var(--palamos-color-text-body);
}
.palamos-servei-descripcio p,
.palamos-servei-fitxa .wp-block-post-content p {
	margin: 0 0 1rem;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
.palamos-servei-descripcio p:last-child,
.palamos-servei-fitxa .wp-block-post-content p:last-child {
	margin-bottom: 0;
}
.palamos-servei-descripcio ul,
.palamos-servei-descripcio ol,
.palamos-servei-fitxa .wp-block-post-content ul,
.palamos-servei-fitxa .wp-block-post-content ol {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
	color: inherit;
}
.palamos-servei-descripcio h2,
.palamos-servei-fitxa .wp-block-post-content h2 {
	margin: 1.5rem 0 0.75rem;
	font-size: var(--palamos-h2-size);
	font-weight: 600;
	line-height: 1.25;
	color: var(--palamos-color-heading);
}
.palamos-servei-descripcio h3,
.palamos-servei-fitxa .wp-block-post-content h3 {
	margin: 1.25rem 0 0.5rem;
	font-size: var(--palamos-h3-size);
	font-weight: 600;
	line-height: 1.3;
	color: var(--palamos-color-heading);
}
/* Sidebar contacte: jerarquia clara (títols de secció = element més gran). */
.palamos-servei-sidebar-card .palamos-servei-contacte {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.palamos-servei-contacte__section {
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
}
.palamos-servei-contacte__section + .palamos-servei-contacte__section {
	margin-top: 1.75rem;
	padding-top: 1.75rem;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--blau-clar, #e8f4f8) 65%, #fff);
}
.palamos-servei-sidebar-card .palamos-servei-contacte__title,
.palamos-servei-sidebar-card h2.palamos-servei-contacte__title,
.palamos-servei-sidebar-card h3.palamos-servei-contacte__title {
	margin: 0 0 1rem;
	padding: 0 0 0.5rem;
	font-size: var(--palamos-sidebar-title-size) !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--blau-fosc, #0a1628) !important;
	border-bottom: 2px solid var(--wp--preset--color--blau-clar, #e8f4f8);
}
.palamos-servei-contacte__body {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
.palamos-servei-contacte__label {
	display: block;
	margin: 0 0 0.2rem;
	font-size: var(--palamos-sidebar-label-size);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--palamos-color-text-body) 75%, var(--palamos-color-heading));
}
.palamos-servei-contacte__row {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	margin: 0;
}
.palamos-servei-contacte__value {
	font-size: var(--palamos-sidebar-detail-size);
	line-height: 1.45;
	color: var(--palamos-color-heading);
}
.palamos-servei-contacte__value a {
	font-size: inherit;
	font-weight: 500;
}
.palamos-servei-contacte__field--horari .palamos-servei-contacte__text--html {
	margin-top: 0.1rem;
}
.palamos-servei-contacte__text--adreca,
.palamos-servei-contacte__text--adreca p {
	font-size: var(--palamos-sidebar-detail-size);
	line-height: 1.5;
	color: var(--palamos-color-text-body);
	margin: 0;
}
.palamos-servei-contacte__text--adreca p + p {
	margin-top: 0.5rem;
}
.palamos-servei-contacte__row--map-link {
	margin-top: 0.35rem;
	font-size: var(--palamos-sidebar-detail-size);
}
/*
 * Enllaços del bloc «Contacte» (sidebar): subratllat, hover negre,
 * fletxa ↗ només si target="_blank".
 */
.palamos-servei-sidebar-card .palamos-servei-contacte__row a,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html a,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--adreca a {
	color: var(--palamos-color-link) !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	text-decoration-thickness: 1px;
	transition: color 0.15s ease, opacity 0.15s ease;
}
.palamos-servei-sidebar-card .palamos-servei-contacte__row a:hover,
.palamos-servei-sidebar-card .palamos-servei-contacte__row a:focus-visible,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html a:hover,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html a:focus-visible,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--adreca a:hover,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--adreca a:focus-visible {
	color: #000 !important;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}
.palamos-servei-sidebar-card .palamos-servei-contacte__row a:focus-visible,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html a:focus-visible,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--adreca a:focus-visible {
	outline: 2px solid #000;
	outline-offset: 2px;
}
.palamos-servei-sidebar-card .palamos-servei-contacte__row a[target="_blank"],
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html a[target="_blank"],
.palamos-servei-sidebar-card .palamos-servei-contacte__text--adreca a[target="_blank"] {
	display: inline-flex;
	align-items: center;
	gap: 0.22em;
}
.palamos-servei-sidebar-card .palamos-servei-contacte__row a[target="_blank"]::after,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html a[target="_blank"]::after,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--adreca a[target="_blank"]::after {
	content: '\2197';
	font-size: 0.85em;
	line-height: 1;
	opacity: 0.72;
	flex-shrink: 0;
	color: inherit;
}
.palamos-servei-sidebar-card .palamos-servei-contacte__row a[target="_blank"]:hover::after,
.palamos-servei-sidebar-card .palamos-servei-contacte__row a[target="_blank"]:focus-visible::after,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html a[target="_blank"]:hover::after,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html a[target="_blank"]:focus-visible::after,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--adreca a[target="_blank"]:hover::after,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--adreca a[target="_blank"]:focus-visible::after {
	opacity: 1;
}
/* Enllaços (columna principal): títol H2 fora de les pastilles. */
.palamos-servei-tramits--main {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}
.palamos-servei-tramits__title {
	margin: 0 0 1rem;
	font-size: var(--palamos-h2-size);
	line-height: 1.25;
	font-weight: 600;
	color: var(--wp--preset--color--blau-fosc, #0a1628);
}
.palamos-servei-tramits__list {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}
.palamos-servei-contacte__tramit.palamos-servei-contacte__tramit--pill {
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}
/* Pastilla sencera clicable (enllaç) o estàtica (sense URL). */
a.palamos-servei-contacte__tramit-pill,
span.palamos-servei-contacte__tramit-pill {
	box-sizing: border-box;
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: flex-start;
	gap: 0.5rem;
	min-height: 0;
	padding: 0.5rem 0.75rem;
	background: color-mix(in srgb, var(--wp--preset--color--blau-clar, #e8f4f8) 28%, #fff);
	border: 1px solid color-mix(in srgb, var(--palamos-color-link) 32%, #fff);
	border-radius: var(--palamos-radius-pill);
	box-shadow:
		0 1px 2px rgba(10, 22, 40, 0.04),
		0 2px 8px -2px rgba(26, 79, 122, 0.07);
	line-height: 1.3;
	text-decoration: none;
	color: var(--palamos-color-link);
	transition:
		color 0.15s ease,
		background-color 0.15s ease,
		border-color 0.15s ease,
		box-shadow 0.15s ease;
}
a.palamos-servei-contacte__tramit-pill:hover,
a.palamos-servei-contacte__tramit-pill:focus-visible {
	text-decoration: none;
	color: #000;
	background: color-mix(in srgb, var(--wp--preset--color--blau-clar, #e8f4f8) 42%, #fff);
	border-color: color-mix(in srgb, var(--palamos-color-link) 45%, #fff);
	box-shadow:
		0 1px 3px rgba(10, 22, 40, 0.06),
		0 4px 12px -2px rgba(26, 79, 122, 0.1);
}
a.palamos-servei-contacte__tramit-pill:focus-visible {
	outline: 2px solid #000;
	outline-offset: 2px;
}
.palamos-servei-contacte__tramit-pill .palamos-servei-contacte__tramit-label {
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
	text-decoration: none;
}
.palamos-servei-contacte__tramit-pill .palamos-servei-contacte__tramit-icon-wrap {
	color: inherit;
}
.palamos-servei-contacte__tramit-pill .palamos-servei-contacte__tramit-icon.dashicons {
	color: inherit;
}
.palamos-servei-contacte__leaflet-map {
	width: 100%;
	height: 200px;
	min-height: 180px;
	margin-top: 0.75rem;
	border-radius: var(--palamos-radius-card);
	overflow: hidden;
	z-index: 0;
}
.palamos-servei-contacte__leaflet-map .leaflet-container {
	font-family: inherit;
}
/* Icona fora de la capçalera (fallback si s’usa el shortcode en un altre lloc). */
.palamos-servei-icona {
	margin: 0 0 0.75rem;
}
.palamos-servei-icona__img {
	display: block;
	max-width: 4.5rem;
	height: auto;
	object-fit: contain;
}
.palamos-servei-tramits-wrap {
	margin-top: var(--wp--preset--spacing--50, 1.5rem);
}
.palamos-servei-contacte__list--tramits {
	list-style: none;
	margin: 0;
	padding: 0;
}
.palamos-servei-contacte__tramit:not(.palamos-servei-contacte__tramit--pill) {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: 0.5rem;
}
.palamos-servei-contacte__tramit-icon-wrap {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 1.75rem;
}
.palamos-servei-contacte__tramit-icon--img {
	display: block;
	width: 1.5rem;
	height: auto;
	max-height: 1.5rem;
	object-fit: contain;
}
.palamos-servei-contacte__tramit-icon.dashicons {
	width: 1.25rem;
	height: 1.25rem;
	font-size: 1.25rem;
	line-height: 1.25rem;
}
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html {
	font-size: var(--palamos-sidebar-detail-size);
	line-height: 1.5;
	color: var(--palamos-color-text-body);
}
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html strong,
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html b {
	font-size: 1rem;
	font-weight: 600;
	color: var(--palamos-color-heading);
}
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html p {
	margin: 0 0 0.65rem;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html p:first-child {
	margin-top: 0;
}
.palamos-servei-sidebar-card .palamos-servei-contacte__text--html p:last-child {
	margin-bottom: 0;
}
/* Responsive: apilar columnes en pantalles estretes. */
@media (max-width: 767px) {
	.palamos-servei-fitxa > .wp-block-columns {
		flex-direction: column !important;
	}
	.palamos-servei-fitxa > .wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}
	.palamos-servei-sidebar-card {
		margin-top: var(--wp--preset--spacing--50, 1.5rem);
		margin-bottom: var(--wp--preset--spacing--60, 2rem);
	}
}
