/* Giardinella — site-wide styles that Elementor controls can't express. */

/* Breadcrumbs (shortcode) — Avada: 18px, color1, "/" separators */
.gd-breadcrumbs {
	font-size: 18px;
	line-height: 22px;
	color: var(--e-global-color-gdwhite, #fff);
}

.gd-breadcrumbs a,
.gd-breadcrumbs a:hover {
	color: inherit;
	text-decoration: none;
}

.gd-breadcrumbs__sep {
	padding: 0 5px;
}

/* Paragraph rhythm inside text widgets (Avada: fusion-text-no-margin → no outer margins) */
.gd-text-nomargin p:first-child {
	margin-top: 0;
}

.gd-text-nomargin p:last-child {
	margin-bottom: 0;
}

/* Home slider dots — Avada/slick: 24px white rings, active filled + scaled */
.gd-home-slider .swiper-pagination-bullet {
	width: 24px;
	height: 24px;
	margin: 0 3px;
	border: 2px solid var(--e-global-color-gdwhite, #fff);
	background: transparent;
	opacity: 1;
	transition: transform 300ms;
}

.gd-home-slider .swiper-pagination-bullet-active {
	background: var(--e-global-color-gdwhite, #fff);
	transform: scale(1.2);
}

.elementor-element.gd-home-slider .swiper ~ .swiper-pagination-bullets.swiper-pagination-horizontal,
.elementor-element.gd-home-slider .swiper .swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: 33px;
}

/* Header menu — Avada: items fill the bar on one line, 12px before the submenu arrow */
.gd-main-nav .elementor-nav-menu--main > .elementor-nav-menu {
	flex-wrap: nowrap;
}

.gd-main-nav .elementor-nav-menu--main .sub-arrow {
	padding: 0 0 0 12px;
	margin: 0;
	line-height: 1;
	font-size: 15px;
}

/* Header above page content (Avada: menu bar z-index over the home slider) */
.elementor-location-header {
	position: relative;
	z-index: 100;
}

/* Avada columns keep their width when content (e.g. long e-mails) overflows;
   text never gets narrower than its longest word (Avada wrapper: min-width auto) */
.e-con > .e-con,
.e-con > .e-con-inner > .e-con {
	min-width: 0;
}

.e-con > .elementor-widget-text-editor,
.e-con > .elementor-widget-heading {
	min-width: min-content;
}

/* Footer menu — Avada: submenu arrow at the far end of the item row */
.gd-footer-nav .elementor-nav-menu--main .elementor-item.has-submenu {
	justify-content: space-between;
}

.gd-footer-nav .elementor-nav-menu--main .sub-arrow {
	padding: 0;
	margin: 0;
	line-height: 1;
}

/* "Scopri di più"-style link: Avada h4 with 2px navy underline (46 occurrences) */
.gd-link-underline .elementor-heading-title {
	display: inline-block;
	padding-bottom: 4px;
	border-bottom: 2px solid var(--e-global-color-primary, #003b72);
}

/* Avada buttons wrap their label inside narrow columns instead of overflowing */
.elementor-widget-button .elementor-button {
	max-width: 100%;
	white-space: normal;
}

/* Cards slider (Impresa, Mobilità) — slick original: vertical navy ring dots on the left */
.gd-cards-slider {
	--gd-dot: 24px;
	padding-inline-start: 0;
}

.elementor-element.gd-cards-slider .swiper ~ .swiper-pagination-bullets.swiper-pagination-horizontal,
.elementor-element.gd-cards-slider .swiper .swiper-pagination-bullets.swiper-pagination-horizontal {
	top: 50%;
	bottom: auto;
	left: -30px;
	width: var(--gd-dot);
	display: flex;
	flex-direction: column;
	gap: 6px;
	transform: translateY(-50%);
}

.gd-cards-slider {
	--swiper-pagination-bullet-horizontal-gap: 0;
}

.gd-cards-slider .swiper-pagination-bullet {
	width: var(--gd-dot);
	height: var(--gd-dot);
	border: 2px solid var(--e-global-color-primary, #003b72);
	background: transparent;
	opacity: 1;
}

.gd-cards-slider .swiper-pagination-bullet-active {
	background: var(--e-global-color-primary, #003b72);
}

@media (max-width: 1024px) {
	.elementor-element.gd-cards-slider .swiper ~ .swiper-pagination-bullets.swiper-pagination-horizontal {
		left: -18px;
	}
}

/* Charts (ported from Avada's chart element: legend below/above, coloured pills) */
.gd-chart .gd-chart-inner {
	display: flex;
	flex-direction: column;
}

.gd-chart.legend-top .gd-chart-legend-wrap {
	order: 1;
	padding-bottom: 20px;
}

.gd-chart.legend-top .gd-chart-wrap {
	order: 2;
}

.gd-chart.legend-bottom .gd-chart-legend-wrap {
	order: 2;
	padding-top: 20px;
}

.gd-chart .gd-chart-legend-wrap {
	width: 100%;
	text-align: center;
	user-select: none;
}

.gd-chart .gd-chart-legend-wrap ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gd-chart .gd-chart-legend-wrap li {
	display: inline-block;
	margin: 0;
}

.gd-chart .gd-chart-legend-wrap li span {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin: 4px;
	padding: 3px 12px;
	color: #fff;
}

/* Avada child theme: the "chart-two" chart has no legend */
.gd-chart.chart-two .gd-chart-legend-wrap li {
	display: none;
}

/* Icon tile (Avada child: .icon-background-fix) */
.icon-background-fix img {
	width: 140px;
	padding: 42px 17px;
	border-radius: 20px;
	background-color: var(--e-global-color-gdlight, #f1f4fa);
}

/* Blog archive (Avada classic large layout) */
.gd-excerpt {
	margin: 0;
	font-family: Rubik, sans-serif;
	font-size: 18px;
	line-height: 22px;
	color: var(--e-global-color-secondary, #2a5698);
}

.gd-post-meta {
	font-family: Rubik, sans-serif;
	font-size: 13px;
	line-height: 22px;
	color: var(--e-global-color-secondary, #2a5698);
}

.gd-post-meta a {
	color: var(--e-global-color-primary, #003b72);
}

.gd-post-meta__sep {
	padding: 0 5px;
}

/* Linked images: the anchor must span the widget so percentage widths resolve (Avada stretches) */
.elementor-widget-image a,
.elementor-widget-theme-post-featured-image a {
	display: block;
}

/* Mobile menu panel (Avada: full-width white sheet, light dividers, nested items indented 60px) */
@media (max-width: 1024px) {
	.gd-main-nav .elementor-nav-menu--dropdown .elementor-item {
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	}

	.gd-main-nav .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item {
		padding-inline-start: 60px;
		color: #4a4e57;
	}

	.gd-main-nav .elementor-menu-toggle {
		padding: 12px 20px;
	}
}

/* Submenu arrows at the far end of dropdown rows (Avada) */
.gd-main-nav .elementor-nav-menu--dropdown .elementor-item.has-submenu,
.gd-main-nav .elementor-nav-menu--dropdown .elementor-sub-item.has-submenu {
	justify-content: space-between;
}

.gd-main-nav .elementor-nav-menu--dropdown .sub-arrow {
	font-size: 12px;
}

/* 404 — Avada default error page */
.gd-helpful-links {
	margin: 18px 0;
	padding-inline-start: 40px;
	list-style: disc;
	font-family: Rubik, sans-serif;
	font-size: 18px;
	line-height: 22px;
	color: var(--e-global-color-secondary, #2a5698);
}

.gd-helpful-links a {
	color: var(--e-global-color-primary, #003b72);
}

/* Avada child theme, ≤640px: every paragraph is 14px (was `p { font-size: 14px !important }`) */
@media (max-width: 640px) {
	.elementor-widget-text-editor p,
	.elementor-widget-theme-post-content p {
		font-size: 14px;
	}
}

/* The original slick slider spanned the whole row (wider than the column): allow the custom width */
.elementor.elementor .e-con > .elementor-widget.gd-cards-slider,
.e-con.e-con > .e-con-inner > .elementor-widget.gd-cards-slider {
	max-width: none;
}

/* Small screens: wide tables scroll inside their block; nothing may widen the page (Avada clipped it) */
@media (max-width: 640px) {
	.elementor-widget-text-editor,
	.elementor-widget-theme-post-content {
		overflow-x: auto;
	}

	.e-con > .elementor-widget-text-editor,
	.e-con > .elementor-widget-heading {
		min-width: 0;
		overflow-wrap: anywhere;
	}
}

html,
body {
	overflow-x: clip;
}
