/*
 * Componenti del design system (Figma: UI components) applicati ai blocchi core tramite stili.
 * Pulsanti, pulsanti icona, etichette, card, card evento, badge data, accordion, carosello.
 */

:root {
	--cidas-icon-arrow-outward: url("../images/icon-arrow-outward.svg");
	--cidas-icon-arrow-forward-c: url("../images/icon-arrow-forward.svg");
	--cidas-icon-arrow-back: url("../images/icon-arrow-back.svg");
	--cidas-icon-add: url("../images/icon-add.svg");
	--cidas-icon-remove: url("../images/icon-remove.svg");
	--cidas-icon-place: url("../images/icon-place.svg");
}

/* ============================================================== */
/* Pulsanti (core/button): Primario, Contorno, Testo, Tonale       */
/* Taglie: is-size-small (32) · default (40) · is-size-large (56)  */
/* Icona iniziale opzionale: has-icon-arrow-forward | -outward | -back */
/* ============================================================== */

.wp-block-button__link {
	--cidas-state: var(--wp--preset--color--inverse-on-surface);
	align-items: center;
	padding-block: 4px !important;
	display: inline-flex;
	gap: var(--wp--preset--spacing--20);
	justify-content: center;
	min-height: 40px;
	position: relative;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

/* Area di tocco minima 48px anche per le taglie 32/40. */
.wp-block-button__link::after {
	content: "";
	inset: -4px 0;
	position: absolute;
}

.wp-block-button.is-size-small .wp-block-button__link::after {
	inset: -8px 0;
}

.wp-block-button__link:hover {
	background-image: linear-gradient(color-mix(in srgb, var(--cidas-state) var(--wp--custom--state--hover), transparent) 0 0);
}

.wp-block-button__link:focus-visible {
	background-image: linear-gradient(color-mix(in srgb, var(--cidas-state) var(--wp--custom--state--focus), transparent) 0 0);
}

.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button__link.is-style-outline {
	--cidas-state: var(--wp--custom--state--on-surface);
	background-color: transparent;
	border: 1px solid var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--contrast);
	padding-inline: calc(1rem - 1px);
}

.wp-block-button.is-style-text .wp-block-button__link {
	background: none;
	color: var(--wp--preset--color--contrast);
	padding-inline: 0;
}

.wp-block-button.is-style-text .wp-block-button__link:hover,
.wp-block-button.is-style-text .wp-block-button__link:focus-visible {
	background: none;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.wp-block-button.is-style-tonal .wp-block-button__link {
	--cidas-state: var(--wp--custom--state--on-surface);
	background-color: var(--wp--preset--color--secondary-container);
	color: var(--wp--preset--color--contrast);
}

/* Taglie */
.wp-block-button.is-size-small .wp-block-button__link {
	gap: 6px;
	min-height: 32px;
	padding-inline: 0.75rem;
}

.wp-block-button.is-size-large .wp-block-button__link {
	font-size: var(--wp--preset--font-size--body-l);
	line-height: 1.3125;
	min-height: 56px;
	padding-inline: 1.5rem;
}

.wp-block-button.is-style-outline.is-size-small .wp-block-button__link {
	padding-inline: calc(0.75rem - 1px);
}

.wp-block-button.is-style-outline.is-size-large .wp-block-button__link {
	padding-inline: calc(1.5rem - 1px);
}

.wp-block-button.is-style-text .wp-block-button__link {
	padding-inline: 0 !important;
}

.wp-block-button.is-style-text.is-disabled .wp-block-button__link {
	padding-inline: 1rem !important;
}

/* Icona iniziale */
:where(.wp-block-button[class*="has-icon-"]) .wp-block-button__link::before {
	background-color: currentColor;
	content: "";
	flex: none;
	height: 1.25rem;
	mask: var(--cidas-button-icon) center / contain no-repeat;
	width: 1.25rem;
}

.wp-block-button.is-size-large[class*="has-icon-"] .wp-block-button__link::before {
	height: 1.5rem;
	width: 1.5rem;
}

.wp-block-button.has-icon-arrow-forward {
	--cidas-button-icon: var(--cidas-icon-arrow-forward-c);
}

.wp-block-button.has-icon-arrow-outward {
	--cidas-button-icon: var(--cidas-icon-arrow-outward);
}

.wp-block-button.has-icon-arrow-back {
	--cidas-button-icon: var(--cidas-icon-arrow-back);
}

.wp-block-button.has-icon-call { --cidas-button-icon: url("../images/icon-call.svg"); }
.wp-block-button.has-icon-mail { --cidas-button-icon: url("../images/icon-mail.svg"); }
.wp-block-button.has-icon-download { --cidas-button-icon: url("../images/icon-download.svg"); }
.wp-block-button.has-icon-photo { --cidas-button-icon: url("../images/icon-photo.svg"); }
.wp-block-button.has-icon-visibility { --cidas-button-icon: url("../images/icon-visibility.svg"); }
.wp-block-button.has-icon-share { --cidas-button-icon: url("../images/icon-share.svg"); }

/* Pulsanti collegati a un campo vuoto (nessun URL): non si mostrano. */
.wp-block-button:has(> a.wp-block-button__link:not([href])) {
	display: none;
}

/* Disabilitato */
.wp-block-button__link[aria-disabled="true"],
.wp-block-button.is-disabled .wp-block-button__link {
	background-color: color-mix(in srgb, var(--wp--custom--state--on-surface) var(--wp--custom--state--disabled), transparent) !important;
	background-image: none !important;
	border-color: transparent !important;
	color: color-mix(in srgb, var(--wp--custom--state--on-surface) var(--wp--custom--state--disabled-text), transparent) !important;
	pointer-events: none;
}

/* Varianti su fondo scuro (UI_button-contrast) */
:where(.has-contrast-background-color, .has-primary-background-color, .has-blu-cidas-gradient-background, .has-area-non-autosufficienti-background-color, .wp-block-cover, .cidas-footer, .cidas-on-dark) .wp-block-button__link {
	--cidas-state: var(--wp--custom--state--on-surface);
	background-color: var(--wp--preset--color--inverse-on-surface);
	color: var(--wp--preset--color--contrast);
}

:where(.has-contrast-background-color, .has-primary-background-color, .has-blu-cidas-gradient-background, .has-area-non-autosufficienti-background-color, .wp-block-cover, .cidas-footer, .cidas-on-dark) .wp-block-button.is-style-outline .wp-block-button__link {
	--cidas-state: var(--wp--preset--color--inverse-on-surface);
	background-color: transparent;
	border-color: var(--wp--preset--color--outline-variant);
	color: var(--wp--preset--color--on-primary);
}

:where(.has-contrast-background-color, .has-primary-background-color, .has-blu-cidas-gradient-background, .has-area-non-autosufficienti-background-color, .wp-block-cover, .cidas-footer, .cidas-on-dark) .wp-block-button.is-style-text .wp-block-button__link {
	background: none;
	color: var(--wp--preset--color--on-primary);
}

:where(.has-contrast-background-color, .has-primary-background-color, .has-blu-cidas-gradient-background, .has-area-non-autosufficienti-background-color, .wp-block-cover, .cidas-footer, .cidas-on-dark) .wp-block-button.is-disabled .wp-block-button__link {
	background-color: color-mix(in srgb, var(--wp--preset--color--on-primary) 10%, transparent) !important;
	color: color-mix(in srgb, var(--wp--preset--color--on-primary) 32%, transparent) !important;
}

/* ============================================================== */
/* Pulsante icona (.cidas-icon-button)                             */
/* Varianti: --outlined --standard --tonal · taglie: --s (32) --l (56) */
/* ============================================================== */

.cidas-icon-button {
	--cidas-ib-size: 40px;
	--cidas-ib-icon-size: 24px;
	--cidas-ib-bg: var(--wp--preset--color--primary);
	--cidas-ib-fg: var(--wp--preset--color--on-primary);
	--cidas-ib-border: transparent;
	--cidas-ib-icon: var(--cidas-icon-arrow-outward);
	align-items: center;
	background: none;
	border: 0;
	color: var(--cidas-ib-fg);
	cursor: pointer;
	display: inline-flex;
	flex: none;
	height: 48px;
	justify-content: center;
	padding: 0;
	position: relative;
	width: 48px;
}

.cidas-icon-button::before {
	background-color: var(--cidas-ib-bg);
	border: 1px solid var(--cidas-ib-border);
	border-radius: var(--wp--custom--radius--pill);
	box-sizing: border-box;
	content: "";
	height: var(--cidas-ib-size);
	position: absolute;
	transition: filter 0.15s ease;
	width: var(--cidas-ib-size);
}

.cidas-icon-button::after {
	background-color: currentColor;
	content: "";
	height: var(--cidas-ib-icon-size);
	mask: var(--cidas-ib-icon) center / contain no-repeat;
	position: relative;
	width: var(--cidas-ib-icon-size);
}

.cidas-icon-button--s {
	--cidas-ib-size: 32px;
	--cidas-ib-icon-size: 20px;
}

.cidas-icon-button--l {
	--cidas-ib-size: 56px;
	height: 56px;
	width: 56px;
}

.cidas-icon-button--outlined {
	--cidas-ib-bg: transparent;
	--cidas-ib-border: var(--wp--preset--color--contrast);
	--cidas-ib-fg: var(--wp--preset--color--contrast);
}

.cidas-icon-button--standard {
	--cidas-ib-bg: transparent;
	--cidas-ib-fg: var(--wp--preset--color--contrast);
}

.cidas-icon-button--tonal {
	--cidas-ib-bg: var(--wp--preset--color--secondary-container);
	--cidas-ib-fg: var(--wp--preset--color--contrast);
}

:is(a, button):hover > .cidas-icon-button::before,
.cidas-icon-button:hover::before,
:is(.is-style-card, .is-style-link-card, .is-style-event-card):hover .cidas-icon-button::before {
	filter: brightness(1.1);
}

.cidas-icon-button--standard:hover::before,
.cidas-icon-button--outlined:hover::before {
	background-color: color-mix(in srgb, var(--wp--custom--state--on-surface) var(--wp--custom--state--hover), transparent);
	filter: none;
}

/* ============================================================== */
/* Etichette (chip): tipologia, categoria                          */
/* ============================================================== */

.is-style-chip,
.wp-block-post-terms.is-style-chips a,
.cidas-chip {
	align-items: center;
	background-color: var(--wp--preset--color--secondary-container);
	border-radius: var(--wp--custom--radius--xs);
	color: var(--wp--preset--color--contrast);
	display: inline-flex;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label-s);
	font-weight: 600;
	letter-spacing: var(--wp--custom--letter-spacing--label);
	line-height: var(--wp--custom--line-height--ui);
	min-height: 28px;
	padding-inline: var(--wp--preset--spacing--20);
	text-decoration: none;
	text-transform: uppercase;
}

p.is-style-chip {
	margin: 0;
	width: fit-content;
}

/* Etichetta con contorno (Figma: Input chip) */
.is-style-chip-outline {
	align-items: center;
	border: 1px solid var(--wp--preset--color--outline-variant);
	border-radius: var(--wp--custom--radius--xs);
	color: var(--wp--preset--color--contrast);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--label-s);
	font-weight: 600;
	letter-spacing: var(--wp--custom--letter-spacing--label);
	line-height: var(--wp--custom--line-height--ui);
	margin: 0;
	min-height: 24px;
	padding-inline: var(--wp--preset--spacing--30);
	text-transform: uppercase;
	width: fit-content;
}

/* Campi collegati vuoti: niente etichette o righe vuote. */
:is(.is-style-chip, .is-style-chip-outline, .cidas-meta > p):empty {
	display: none;
}

.wp-block-post-terms.is-style-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
}

.wp-block-post-terms.is-style-chips .wp-block-post-terms__separator {
	display: none;
}

/* ============================================================== */
/* Card con link (Genitori, Luoghi di cura…)                       */
/* ============================================================== */

.wp-block-group.is-style-link-card {
	background-color: var(--wp--preset--color--surface);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--outline) 8%, transparent);
	border-radius: var(--wp--custom--radius--s);
	color: var(--wp--preset--color--contrast);
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	justify-content: center;
	padding: 20px 80px 20px 20px;
	position: relative;
	transition: background-color 0.15s ease;
}

.wp-block-group.is-style-link-card > * {
	margin: 0 !important;
}

.wp-block-group.is-style-link-card::after {
	--cidas-icon: var(--cidas-icon-arrow-outward);
	background-color: var(--wp--preset--color--contrast);
	content: "";
	height: 24px;
	inset-inline-end: 28px;
	mask: var(--cidas-icon) center / contain no-repeat;
	position: absolute;
	top: calc(50% - 12px);
	width: 24px;
}

.wp-block-group.is-style-link-card :where(h2, h3, h4) {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--headline-xs);
	font-weight: 400;
	line-height: var(--wp--custom--line-height--headline-xs);
}

.wp-block-group.is-style-link-card p {
	font-size: var(--wp--preset--font-size--body-m);
	font-weight: 500;
	line-height: var(--wp--custom--line-height--ui);
}

/* Tutta la card è cliccabile: il link del titolo si estende sull'intera card. */
:is(.is-style-link-card, .is-style-card) :where(h2, h3, h4) a {
	color: inherit;
	text-decoration: none;
}

:is(.is-style-link-card, .is-style-card) :where(h2, h3, h4) a::before {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

:is(.is-style-link-card, .is-style-card) :where(h2, h3, h4) a:focus-visible {
	outline: none;
}

:is(.is-style-link-card, .is-style-card):has(:where(h2, h3, h4) a:focus-visible) {
	outline: var(--wp--custom--focus--width) solid var(--wp--custom--focus--color);
	outline-offset: var(--wp--custom--focus--offset);
}

.wp-block-group.is-style-link-card:hover,
.wp-block-group.is-style-card:hover {
	background-color: color-mix(in srgb, var(--wp--custom--state--on-surface) 4%, var(--wp--preset--color--surface));
}

/* ============================================================== */
/* Card con immagine (strutture, servizi)                          */
/* ============================================================== */

.wp-block-group.is-style-card {
	background-color: var(--wp--preset--color--surface);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--outline) 8%, transparent);
	border-radius: var(--wp--custom--radius--s);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
	transition: background-color 0.15s ease;
}

.wp-block-group.is-style-card > * {
	margin: 0 !important;
}

.cidas-card__media {
	margin: 8px 8px 0 !important;
	position: relative;
}

.cidas-card__media :where(.wp-block-image, .wp-block-post-featured-image) {
	margin: 0;
}

.cidas-card__media img {
	aspect-ratio: 268 / 276;
	border-radius: var(--wp--custom--radius--xs);
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.cidas-card__media > :where(.is-style-chip, .wp-block-post-terms) {
	inset-block-start: 8px;
	inset-inline-start: 8px;
	margin: 0;
	position: absolute;
}

.cidas-card__media > .cidas-icon-button {
	inset-block-start: 0;
	inset-inline-end: 0;
	position: absolute;
}

.cidas-card__body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 16px 12px 16px 20px;
}

.cidas-card__body > * {
	margin: 0 !important;
}

.cidas-card__body :where(h2, h3, h4) {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--title-l);
	font-weight: 600;
	line-height: var(--wp--custom--line-height--title-l);
}

/* Riga di metadati: luogo • posti */
.cidas-meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-size: var(--wp--preset--font-size--body-s);
	font-weight: 500;
	gap: 4px 8px;
	line-height: 1.3333;
}

.cidas-meta > * {
	margin: 0 !important;
}

.cidas-meta > * + *::before {
	content: "•" / "";
	margin-inline-end: 8px;
}

.cidas-meta__place {
	align-items: center;
	display: inline-flex;
	gap: 4px;
}

.cidas-meta__place::before {
	--cidas-icon: var(--cidas-icon-place);
	background-color: currentColor;
	content: "";
	height: 18px;
	mask: var(--cidas-icon) center / contain no-repeat;
	width: 18px;
}

/* ============================================================== */
/* Card evento (core/cover, stile "Card evento")                   */
/* ============================================================== */

.wp-block-cover.is-style-event-card {
	align-items: stretch;
	border-radius: var(--wp--custom--radius--s);
	color: var(--wp--preset--color--on-primary);
	min-height: 440px;
	overflow: hidden;
	padding: 20px;
}

.wp-block-cover.is-style-event-card .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
}

.wp-block-cover.is-style-event-card .wp-block-cover__inner-container > * {
	margin: 0;
}

.cidas-event__top,
.cidas-event__bottom {
	align-items: flex-start;
	display: flex;
	gap: var(--wp--preset--spacing--40);
	justify-content: space-between;
}

.cidas-event__bottom {
	align-items: flex-end;
}

.cidas-event__bottom > :first-child {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.cidas-event__bottom > :first-child > * {
	margin: 0;
}

.wp-block-cover.is-style-event-card :where(h2, h3, h4) {
	color: inherit;
	font-size: var(--wp--preset--font-size--headline-xs);
	line-height: var(--wp--custom--line-height--headline-xs);
}

.wp-block-cover.is-style-event-card :where(h2, h3, h4) a {
	color: inherit;
	text-decoration: none;
}

.wp-block-cover.is-style-event-card :where(h2, h3, h4) a::before {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 2;
}

.wp-block-cover.is-style-event-card:has(:where(h2, h3, h4) a:focus-visible) {
	outline: var(--wp--custom--focus--width) solid var(--wp--custom--focus--color);
	outline-offset: var(--wp--custom--focus--offset);
}

.wp-block-cover.is-style-event-card .cidas-meta {
	font-weight: 600;
}

/* Badge data (Set / 17 gio) */
.cidas-date-badge {
	background-color: var(--wp--preset--color--base);
	border-radius: var(--wp--custom--radius--s);
	display: flex;
	flex: none;
	flex-direction: column;
	font-size: var(--wp--preset--font-size--body-s);
	font-weight: 600;
	height: 56px;
	line-height: 1.3333;
	overflow: hidden;
	text-align: center;
	width: 56px;
}

.cidas-date-badge > * {
	align-items: center;
	display: flex;
	flex: 1;
	justify-content: center;
	/* Il gruppo ha layout "flow": WordPress darebbe un margine al giorno, che restringe la fascia del mese. */
	margin: 0 !important;
}

.cidas-date-badge__month {
	background-color: var(--wp--preset--color--area-minori);
	color: var(--wp--preset--color--on-primary);
}

.cidas-date-badge__day {
	color: var(--wp--custom--state--on-surface);
}

/* ============================================================== */
/* Accordion / FAQ (core/details)                                  */
/* ============================================================== */

.wp-block-details {
	border-block-end: 1px solid var(--wp--preset--color--outline-variant);
	margin-block: 0 !important;
}

:not(.wp-block-details) + .wp-block-details,
.wp-block-details:first-child {
	border-block-start: 1px solid var(--wp--preset--color--outline-variant);
}

.wp-block-details summary {
	align-items: center;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	display: flex;
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--headline-xs);
	gap: var(--wp--preset--spacing--40);
	justify-content: space-between;
	line-height: var(--wp--custom--line-height--headline-xs);
	list-style: none;
	min-height: 48px;
	padding-block: 20px;
}

.wp-block-details summary::-webkit-details-marker {
	display: none;
}

/* Icona +/− in un pulsante icona "standard" 40px (area 48px). */
.wp-block-details summary::after {
	--cidas-icon: var(--cidas-icon-add);
	background-color: currentColor;
	border-radius: var(--wp--custom--radius--pill);
	box-shadow: 0 0 0 8px transparent;
	content: "";
	flex: none;
	height: 24px;
	margin-inline-end: 12px;
	mask: var(--cidas-icon) center / contain no-repeat;
	width: 24px;
}

.wp-block-details[open] summary::after {
	--cidas-icon: var(--cidas-icon-remove);
}

.wp-block-details summary:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.wp-block-details > :not(summary) {
	font-size: var(--wp--preset--font-size--body-m);
	font-weight: 500;
	line-height: var(--wp--custom--line-height--ui);
	margin-block: 0 var(--wp--preset--spacing--40);
	max-width: 720px;
}

.wp-block-details > :last-child {
	margin-block-end: 20px;
}

.wp-block-details > summary + * {
	margin-block-start: calc(var(--wp--preset--spacing--20) - 20px);
}

/* ============================================================== */
/* Carosello                                                       */
/* ============================================================== */

.cidas-carousel {
	--cidas-carousel-gap: var(--wp--preset--spacing--40);
	--cidas-carousel-per-view: 4;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--50);
}

@media (max-width: 1023px) {
	.cidas-carousel {
		--cidas-carousel-per-view: 2.2;
	}
}

@media (max-width: 599px) {
	.cidas-carousel {
		--cidas-carousel-per-view: 1.15;
	}
}

.cidas-carousel .is-style-carousel {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: var(--cidas-carousel-gap) !important;
	margin: 0;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	padding: 0;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.cidas-carousel .is-style-carousel::-webkit-scrollbar {
	display: none;
}

.cidas-carousel .is-style-carousel > * {
	flex: 0 0 calc((100% - (var(--cidas-carousel-per-view) - 1) * var(--cidas-carousel-gap)) / var(--cidas-carousel-per-view));
	margin: 0 !important;
	max-width: none !important;
	scroll-snap-align: start;
}

.cidas-carousel-controls {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--40);
}

.cidas-carousel-controls[hidden] {
	display: none;
}

.cidas-carousel-controls__progress {
	display: flex;
	flex: 1;
	gap: var(--wp--preset--spacing--20);
}

.cidas-carousel-controls__progress span {
	background-color: color-mix(in srgb, var(--wp--custom--state--on-surface) 16%, transparent);
	border-radius: var(--wp--custom--radius--l);
	flex: 1;
	height: 4px;
	transition: background-color 0.2s ease;
}

.cidas-carousel-controls__progress span.is-active {
	background-color: var(--wp--preset--color--contrast);
}

.cidas-carousel-controls__arrows {
	display: flex;
	gap: 1px;
}

.cidas-carousel-controls__arrows button {
	align-items: center;
	background: none;
	border: 0;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	display: flex;
	height: 48px;
	justify-content: center;
	padding: 0;
	position: relative;
	width: 48px;
}

.cidas-carousel-controls__arrows button::before {
	background-color: var(--wp--preset--color--inverse-primary);
	content: "";
	height: 32px;
	inset-inline: 0;
	position: absolute;
}

.cidas-carousel-controls__prev::before {
	border-radius: var(--wp--custom--radius--pill) 0 0 var(--wp--custom--radius--pill);
}

.cidas-carousel-controls__next::before {
	border-radius: 0 var(--wp--custom--radius--pill) var(--wp--custom--radius--pill) 0;
}

.cidas-carousel-controls__arrows button:disabled {
	color: color-mix(in srgb, var(--wp--custom--state--on-surface) 38%, transparent);
	cursor: default;
}

.cidas-carousel-controls__arrows button:disabled::before {
	background-color: color-mix(in srgb, var(--wp--custom--state--on-surface) var(--wp--custom--state--disabled), transparent);
}

.cidas-carousel-controls__arrows .cidas-icon {
	position: relative;
}

/* Carosello su fondo scuro */
:where(.has-contrast-background-color, .has-primary-background-color, .has-blu-cidas-gradient-background) .cidas-carousel-controls__progress span {
	background-color: color-mix(in srgb, var(--wp--preset--color--on-primary) 24%, transparent);
}

:where(.has-contrast-background-color, .has-primary-background-color, .has-blu-cidas-gradient-background) .cidas-carousel-controls__progress span.is-active {
	background-color: var(--wp--preset--color--on-primary);
}

/* Badge data senza data (progetti continuativi): non si mostra. */
.cidas-date-badge:has(.cidas-date-badge__month:empty) {
	display: none;
}
