@layer base {

	/* ============================================================
	   BREADCRUMBS
	   ============================================================ */

	.s4w-breadcrumbs {
		width: 100%;
		border-top: 1px solid var(--stroke-soft-200);
		border-bottom: 1px solid var(--stroke-soft-200);
		background-color: var(--bg-white-0);
		overflow: hidden;
	}

	.s4w-breadcrumbs__container {
		display: flex !important;
		flex-direction: row !important;
		align-items: center;
		height: 36px;
		gap: 0 !important;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.s4w-breadcrumbs__container::-webkit-scrollbar {
		display: none;
	}

	.s4w-breadcrumbs__item {
		display: flex;
		align-items: stretch;
		height: 100%;
	}

	.s4w-breadcrumbs__link,
	.s4w-breadcrumbs__current {
		display: flex;
		align-items: center;
		padding: 10px;
		font-family: var(--font-secondary);
		font-size: var(--paragraph-xsmall);
		line-height: 16px;
		text-decoration: none;
		color: var(--text-soft-400);
		border-right: 1px solid var(--stroke-soft-200);
		transition: color var(--transition-fast);
	}

	.s4w-breadcrumbs__item:first-child .s4w-breadcrumbs__link,
	.s4w-breadcrumbs__item:first-child .s4w-breadcrumbs__current {
		border-left: 1px solid var(--stroke-soft-200);
	}

	.s4w-breadcrumbs__link:hover {
		color: var(--text-main-900);
	}

	.s4w-breadcrumbs__current {
		color: var(--text-main-900);
		font-weight: var(--weight-regular);
	}

	.s4w-breadcrumbs__separator {
		display: none;
	}

	/* ============================================================
	   LAYOUT PRINCIPALE
	   ============================================================ */

	.contatti-page {
		width: 100%;
		overflow-x: hidden;
	}

	.contatti-page article {
		width: 100%;
	}

	.contatti-page .contatti-layout {
		display: flex;
		align-items: stretch;
		width: 100%;
		min-height: calc(100vh - 106px); /* navbar 70px + breadcrumbs 36px */
	}

	/* ============================================================
	   SIDEBAR SINISTRA
	   ============================================================ */

	.contatti-page .contatti-sidebar {
		width: calc((100vw - 1920px) / 2 + 488px);
		min-width: 488px;
		flex-shrink: 0;
		background-color: var(--bg-weak-100);
	}

	.contatti-page .contatti-nav {
		display: flex;
		flex-direction: column;
		gap: 26px;
		padding: 52px 32px 52px max(80px, calc((100vw - 1920px) / 2 + 80px));
	}

	/* Voce nav */
	.contatti-page .contatti-nav__item {
		display: flex;
		align-items: center;
		gap: 12px;
		background: none;
		border: none;
		cursor: pointer;
		padding: 0;
		width: 100%;
		text-align: left;
	}

	.contatti-page .contatti-nav__arrow {
		flex-shrink: 0;
		width: 0;
		height: 24px;
		overflow: hidden;
		color: var(--text-main-900);
		opacity: 0;
		transition: opacity 0.2s ease, width 0.2s ease;
	}

	.contatti-page .contatti-nav__label {
		font-family: var(--font-primary);
		font-weight: var(--weight-regular);
		font-size: 24px;
		line-height: 1.4;
		letter-spacing: 0;
		text-transform: uppercase;
		color: var(--text-sub-500);
		transition: color 0.2s ease;
	}

	/* Freccia chevron — visibile solo da mobile */
	.contatti-page .contatti-nav__chevron {
		display: none;
		flex-shrink: 0;
		width: 24px;
		height: 24px;
		color: var(--text-main-900);
		margin-left: auto;
		transition: transform 0.3s ease;
	}

	/* Stato attivo desktop */
	.contatti-page .contatti-nav__item.is-active .contatti-nav__arrow {
		width: 24px;
		opacity: 1;
	}

	.contatti-page .contatti-nav__item.is-active .contatti-nav__label {
		color: var(--text-main-900);
		text-decoration: underline;
		text-underline-offset: 4px;
	}

	/* Hover stato inattivo */
	.contatti-page .contatti-nav__item:not(.is-active):hover .contatti-nav__label {
		color: var(--text-main-900);
	}

	/* Separatore */
	.contatti-page .contatti-nav__divider {
		border: none;
		border-top: 1px solid var(--stroke-sub-300);
		margin: 0;
		width: 100%;
	}

	/* ============================================================
	   AREA CONTENUTO
	   ============================================================ */

	.contatti-page .contatti-content {
		flex: 1;
		min-width: 0;
		overflow: hidden;
		padding: 45px 52px 94px;
	}

	/* ============================================================
	   PANEL — visibilità
	   ============================================================ */

	.contatti-page .contatti-panel {
		display: none;
	}

	.contatti-page .contatti-panel.is-active {
		display: block;
	}

	/* ============================================================
	   TITOLO SEZIONE
	   ============================================================ */

	.contatti-page .contatti-panel__title {
		font-family: var(--font-primary);
		font-weight: var(--weight-regular);
		font-size: clamp(32px, 4.5vw, 64px);
		line-height: 1;
		letter-spacing: -1.92px;
		text-transform: uppercase;
		color: var(--text-main-900);
		margin: 0 0 0 0;
	}

	/* ============================================================
	   PANEL 1 — General Inquires: info list
	   ============================================================ */

	.contatti-page .contatti-info-list {
		display: flex;
		flex-direction: column;
		gap: 32px;
		margin-top: 52px;
	}

	.contatti-page .contatti-info-item {
		display: flex;
		align-items: center;
		gap: 17px;
	}

	.contatti-page .contatti-info-item__icon {
		flex-shrink: 0;
		width: 48px;
		height: 48px;
	}

	.contatti-page .contatti-info-item__icon img {
		width: 48px;
		height: 48px;
		display: block;
	}

	.contatti-page .contatti-info-item__text {
		display: flex;
		flex-direction: column;
		gap: 4px;
	}

	.contatti-page .contatti-info-item__label {
		display: block;
		font-family: var(--font-primary);
		font-weight: var(--weight-medium);
		font-size: var(--paragraph-small);
		font-style: normal;
		line-height: 20px;
		letter-spacing: 0.56px;
		text-transform: uppercase;
		font-feature-settings: 'liga' off, 'calt' off;
		color: var(--text-main-900);
	}

	.contatti-page .contatti-info-item__value,
	.contatti-page .contatti-info-item__value:visited {
		display: block;
		font-family: var(--font-primary) !important;
		font-weight: 500 !important;
		font-size: var(--paragraph-small);
		font-style: normal;
		line-height: 20px;
		letter-spacing: 0.56px;
		text-transform: uppercase;
		font-feature-settings: 'liga' off, 'calt' off;
		color: var(--text-sub-500) !important;
		text-decoration: none !important;
	}

	.contatti-page .contatti-info-item__value:hover {
		color: var(--text-main-900) !important;
		text-decoration: underline !important;
	}

	/* ============================================================
	   PANEL 2 — Contattaci: intro
	   ============================================================ */

	.contatti-page .contatti-panel__intro {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 24px;
		margin-top: 23px;
		margin-bottom: 32px;
	}

	.contatti-page .contatti-panel__intro-text {
		font-family: var(--font-primary);
		font-weight: var(--weight-regular);
		font-size: 24px;
		line-height: 1.4;
		text-transform: uppercase;
		color: var(--text-main-900);
		margin: 0;
	}

	/* ============================================================
	   ACCORDION INTERNO (Contattaci)
	   ============================================================ */

	.contatti-page .contatti-accordion {
		display: flex;
		flex-direction: column;
	}

	.contatti-page .contatti-accordion__item {
		border-top: 1px solid var(--stroke-sub-300);
	}

	.contatti-page .contatti-accordion__item:last-child {
		border-bottom: 1px solid var(--stroke-sub-300);
	}

	.contatti-page .contatti-accordion__trigger {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 66px;
		background: none;
		border: none;
		cursor: pointer;
		padding: 16px 0;
		gap: 16px;
		text-align: left;
	}

	.contatti-page .contatti-accordion__trigger-label {
		font-family: var(--font-primary);
		font-weight: var(--weight-regular);
		font-size: 24px;
		line-height: 1.4;
		text-transform: uppercase;
		color: var(--text-sub-500);
		transition: color 0.2s ease;
	}

	.contatti-page .contatti-accordion__trigger[aria-expanded="true"] .contatti-accordion__trigger-label {
		color: var(--text-main-900);
	}

	.contatti-page .contatti-accordion__chevron {
		flex-shrink: 0;
		width: 24px;
		height: 24px;
		color: var(--text-main-900);
		transition: transform 0.3s ease;
	}

	.contatti-page .contatti-accordion__trigger[aria-expanded="true"] .contatti-accordion__chevron {
		transform: rotate(180deg);
	}

	/* Contenuto accordion */
	.contatti-page .contatti-accordion__content {
		overflow: hidden;
	}

	.contatti-page .contatti-accordion__content[hidden] {
		display: none;
	}

	.contatti-page .contatti-accordion__grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 24px;
		padding-bottom: 32px;
	}

	.contatti-page .contatti-accordion__location {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.contatti-page .contatti-accordion__location-title {
		font-family: var(--font-primary);
		font-weight: var(--weight-medium);
		font-size: var(--label-large);
		line-height: 20px;
		letter-spacing: 0.72px;
		text-transform: uppercase;
		color: var(--text-main-900);
		margin: 0;
	}

	.contatti-page .contatti-accordion__location-contacts {
		font-family: var(--font-primary);
		font-weight: var(--weight-medium);
		font-size: var(--paragraph-small);
		line-height: 20px;
		letter-spacing: 0.56px;
		text-transform: uppercase;
		color: var(--text-sub-500);
	}

	.contatti-page .contatti-accordion__location-contacts a,
	.contatti-page .contatti-accordion__location-contacts a:visited {
		color: var(--text-main-900);
		text-decoration: underline;
		text-underline-offset: 3px;
	}

	.contatti-page .contatti-accordion__location-contacts a:hover {
		color: var(--text-sub-500);
	}

	.contatti-page .contatti-accordion__location-link {
		align-self: flex-start;
	}

	/* ============================================================
	   PANEL 3 — Lavora con Noi
	   ============================================================ */

	.contatti-page .contatti-panel--lavora-con-noi .contatti-panel__title {
		margin-bottom: 53px;
	}

	.contatti-page .contatti-panel__subtitle {
		font-family: var(--font-primary);
		font-weight: var(--weight-regular);
		font-size: 24px;
		line-height: 1.4;
		text-transform: uppercase;
		color: var(--text-main-900);
		margin: 23px 0 24px;
	}

	.contatti-page .contatti-panel--lavora-con-noi .contatti-info-list {
		margin-top: 0;
		margin-bottom: 24px;
	}

	.contatti-page .contatti-panel__cta {
		display: inline-flex;
	}

	/* ============================================================
	   RESPONSIVE — TABLET 1024px
	   ============================================================ */

	@media (max-width: 1024px) {
		.contatti-page .contatti-sidebar {
			width: 360px;
			min-width: 0;
		}

		.contatti-page .contatti-nav {
			padding: 40px 32px 40px 40px;
		}

		.contatti-page .contatti-content {
			padding: 40px 40px 80px;
		}

		.contatti-page .contatti-panel__title {
			font-size: 48px;
			letter-spacing: -1.44px;
		}

		.contatti-page .contatti-accordion__grid {
			grid-template-columns: 1fr;
		}
	}

	/* ============================================================
	   RESPONSIVE — MOBILE 768px
	   Sidebar diventa accordion full-width
	   ============================================================ */

	@media (max-width: 768px) {

		.contatti-page .contatti-layout {
			flex-direction: column;
			min-height: auto;
		}

		/* Sidebar diventa striscia full-width */
		.contatti-page .contatti-sidebar {
			width: 100%;
			min-width: 0;
			max-width: 100%;
			overflow-x: hidden;
			background-color: transparent;
		}

		.contatti-page .contatti-nav {
			padding: 0;
			gap: 0;
			width: 100%;
			overflow-x: hidden;
		}

		/* Mostra chevron, nascondi freccia */
		.contatti-page .contatti-nav__chevron {
			display: flex;
		}

		.contatti-page .contatti-nav__arrow {
			display: none;
		}

		/* Ogni voce nav diventa trigger accordion */
		.contatti-page .contatti-nav__item {
			min-height: 64px;
			padding: 16px 12px;
			border-top: 1px solid var(--stroke-sub-300);
			box-sizing: border-box;
			width: 100%;
			max-width: 100%;
		}

		.contatti-page .contatti-nav__item:last-of-type {
			border-bottom: 1px solid var(--stroke-sub-300);
		}

		/* Nasconde i separatori hr standalone */
		.contatti-page .contatti-nav__divider {
			display: none;
		}

		/* Label sempre scuro su mobile */
		.contatti-page .contatti-nav__item .contatti-nav__label {
			font-size: clamp(16px, 4.5vw, 22px);
			color: var(--text-sub-500);
		}

		.contatti-page .contatti-nav__item.is-active .contatti-nav__label {
			color: var(--text-main-900);
			text-decoration: none; /* su mobile non serve underline */
		}

		/* Chevron rotato quando aperto */
		.contatti-page .contatti-nav__item.is-active .contatti-nav__chevron {
			transform: rotate(180deg);
		}

		/* Area contenuto: i panel vengono spostati via JS dentro .contatti-nav,
		   questo contenitore non serve più su mobile */
		.contatti-page .contatti-content {
			display: none;
		}

		/* Panel mobile — inseriti via JS dopo ogni nav__item */
		.contatti-page .contatti-panel {
			padding: 24px 12px 40px;
			border-bottom: 1px solid var(--stroke-sub-300);
			max-width: 100%;
			overflow-x: hidden;
			box-sizing: border-box;
		}

		.contatti-page .contatti-panel.is-active {
			display: block;
		}

		.contatti-page .contatti-panel__title {
			font-size: clamp(22px, 7vw, 36px);
			line-height: 1;
			letter-spacing: -0.5px;
			margin-bottom: 20px;
		}

		.contatti-page .contatti-panel__intro-text {
			font-size: 20px;
		}

		.contatti-page .contatti-panel__subtitle {
			font-size: 20px;
		}

		.contatti-page .contatti-accordion__grid {
			grid-template-columns: 1fr;
		}

		.contatti-page .contatti-info-list {
			gap: 24px;
			margin-top: 24px;
		}
	}

} /* end @layer base */
