/**
 * Archivi PCI Padova — cornice editoriale.
 * Stile originale di impronta storica e istituzionale, ispirato al taglio
 * documentale del riferimento IVESER senza riprenderne l'identità visiva.
 * Tutte le regole della navigazione e del footer sono isolate in pci-*.
 */
:root {
	--pci-rubino: #842830;
	--pci-rubino-scuro: #651d27;
	--pci-carbone: #292521;
	--pci-carta: #faf8f3;
	--pci-latte: #fffdf9;
	--pci-linea: #e7e0d8;
	--pci-sabbia: #d4cbbd;
	--pci-corpo: "Helvetica Neue", "Segoe UI", sans-serif;
	--pci-titoli: Georgia, "Iowan Old Style", "Baskerville", serif;
}
.pci-site-header,
.pci-site-footer,
.pci-site-header *,
.pci-site-footer * {
	box-sizing: border-box;
}
.pci-shell {
	width: min(100% - 48px, 1260px);
	margin-inline: auto;
}
.pci-site-header {
	position: relative;
	z-index: 1000;
	background: var(--pci-latte);
	color: var(--pci-carbone);
	box-shadow: 0 1px 0 rgba(39, 31, 28, 0.06);
}
.pci-site-header a {
	color: inherit;
	text-decoration: none;
}
.pci-site-header a:focus-visible,
.pci-site-header summary:focus-visible,
.pci-site-footer a:focus-visible {
	outline: 3px solid #a94850;
	outline-offset: 4px;
}
.pci-header-strip {
	background: var(--pci-rubino-scuro);
	color: #f6ebe4;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.pci-header-strip__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 33px;
	font-family: var(--pci-corpo);
	font-size: 11px;
	font-weight: 650;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.pci-header-strip__inner span:last-child {
	font-weight: 400;
	letter-spacing: 0.04em;
}
.pci-header-main {
	display: flex;
	align-items: center;
	gap: clamp(14px, 2vw, 34px);
	min-height: 102px;
}
.pci-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 13px;
	min-width: 215px;
	padding-block: 15px;
}
.pci-brand:hover,
.pci-brand:focus {
	color: var(--pci-carbone);
}
.pci-brand-mark {
	display: grid;
	place-items: center;
	width: 45px;
	height: 45px;
	border: 1px solid var(--pci-rubino);
	background: var(--pci-rubino);
	color: #fff;
	font: 700 15px/1 var(--pci-titoli);
	letter-spacing: 0.035em;
}
.pci-brand-type {
	display: flex;
	flex-direction: column;
	gap: 1px;
	white-space: nowrap;
}
.pci-brand-type__small {
	font: 650 11px/1.3 var(--pci-corpo);
	letter-spacing: 0.26em;
	color: var(--pci-rubino);
}
.pci-brand-type__large {
	font: 700 22px/1.08 var(--pci-titoli);
	letter-spacing: -0.025em;
}
.pci-primary-nav {
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
	flex: 1;
	min-width: 0;
}
.pci-menu,
.pci-menu .sub-menu,
.pci-mobile-menu-list,
.pci-mobile-menu-list .sub-menu,
.pci-footer-menu {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.pci-menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(2px, 0.55vw, 10px);
}
.pci-menu > li {
	position: relative;
	margin: 0;
}
.pci-menu > li > a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 18px clamp(8px, 1.05vw, 16px);
	border-bottom: 2px solid transparent;
	font: 600 13px/1.35 var(--pci-corpo);
	letter-spacing: 0.005em;
	white-space: nowrap;
	transition: color 150ms ease, border-color 150ms ease;
}
.pci-menu > li:hover > a,
.pci-menu > li:focus-within > a,
.pci-menu > li.current-menu-item > a,
.pci-menu > li.current-menu-ancestor > a {
	color: var(--pci-rubino);
	border-bottom-color: var(--pci-rubino);
}
/* Menu senza indicatori grafici a freccia, anche nei livelli annidati.
   I sottomenu rimangono disponibili con hover/focus (desktop) o sempre visibili (mobile). */
.pci-site-header .pci-menu li.menu-item-has-children > a::before,
.pci-site-header .pci-menu li.menu-item-has-children > a::after,
.pci-site-header .pci-mobile-menu-list li.menu-item-has-children > a::before,
.pci-site-header .pci-mobile-menu-list li.menu-item-has-children > a::after {
	content: none !important;
	display: none !important;
}
.pci-site-header .pci-menu .ast-menu-toggle,
.pci-site-header .pci-menu .dropdown-menu-toggle,
.pci-site-header .pci-menu .ast-arrow-svg,
.pci-site-header .pci-mobile-menu-list .ast-menu-toggle,
.pci-site-header .pci-mobile-menu-list .dropdown-menu-toggle,
.pci-site-header .pci-mobile-menu-list .ast-arrow-svg {
	display: none !important;
}
.pci-menu .sub-menu {
	position: absolute;
	z-index: 50;
	top: calc(100% + 2px);
	left: 0;
	width: 314px;
	max-width: min(360px, 90vw);
	padding-block: 12px !important;
	background: var(--pci-latte);
	border-top: 3px solid var(--pci-rubino);
	box-shadow: 0 16px 44px rgba(36, 22, 21, 0.17);
	visibility: hidden;
	opacity: 0;
	transform: translateY(8px);
	pointer-events: none;
	transition: opacity 150ms ease, transform 150ms ease, visibility 150ms;
}
.pci-menu > li:hover > .sub-menu,
.pci-menu > li:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.pci-menu .sub-menu li {
	margin: 0;
	padding: 0;
}
.pci-menu .sub-menu li a {
	display: block;
	padding: 10px 20px;
	border-left: 3px solid transparent;
	font: 500 13px/1.45 var(--pci-corpo);
	letter-spacing: 0;
	white-space: normal;
	transition: color 150ms, background-color 150ms, border-color 150ms;
}
.pci-menu .sub-menu li a:hover,
.pci-menu .sub-menu li a:focus-visible,
.pci-menu .sub-menu .current-menu-item > a {
	color: var(--pci-rubino);
	background: #f4eee7;
	border-left-color: var(--pci-rubino);
}
.pci-header-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	flex: 0 0 auto;
	padding: 12px 14px;
	border: 1px solid var(--pci-rubino);
	color: var(--pci-rubino) !important;
	font: 700 12px/1.2 var(--pci-corpo);
	white-space: nowrap;
	transition: background 150ms, color 150ms;
}
.pci-header-action:hover,
.pci-header-action:focus-visible {
	background: var(--pci-rubino);
	color: #fff !important;
}
.pci-header-action span { font-size: 17px; font-weight: 400; }
.pci-mobile-navigation { display: none; }

.pci-site-footer {
	padding: 62px 0 0;
	background: #262221;
	border-top: 5px solid var(--pci-rubino);
	color: #e8e1d9;
	font-family: var(--pci-corpo);
	font-size: 14px;
	line-height: 1.7;
}
.pci-site-footer h2,
.pci-site-footer h3 {
	color: #fff9f0;
	margin: 0 0 18px;
	font: 600 22px/1.25 var(--pci-titoli);
}
.pci-site-footer p {
	margin: 0 0 14px;
	color: #cfc5bb;
}
.pci-site-footer a {
	color: #f2ebe4;
	text-decoration: none;
	transition: color 150ms ease, border-color 150ms ease;
}
.pci-site-footer a:hover,
.pci-site-footer a:focus-visible { color: #f0a9a0; }
.pci-footer-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr) minmax(0, 1fr);
	gap: clamp(26px, 4.4vw, 74px);
	padding-bottom: 50px;
}
.pci-footer-eyebrow {
	margin-bottom: 12px !important;
	color: #dca7a1 !important;
	font-weight: 650;
	font-size: 11px;
	letter-spacing: 0.2em;
}
.pci-footer-about > p:not(.pci-footer-eyebrow) {
	max-width: 36ch;
	font-size: 14px;
	line-height: 1.85;
}
.pci-footer-menu {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}
.pci-footer-menu li,
.pci-footer-menu a { margin: 0; padding: 0; }
.pci-footer-menu a {
	display: inline-block;
	padding: 2px 0 3px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 13px;
}
.pci-footer-participate p {
	max-width: 36ch;
	line-height: 1.9;
}
.pci-footer-cta {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	border: 1px solid rgba(237, 184, 168, 0.58);
	padding: 10px 15px;
	margin-top: 4px;
	font-size: 12px;
	font-weight: 700;
}
.pci-footer-cta:hover {
	background: #f0e9e0;
	color: var(--pci-rubino-scuro) !important;
}
.pci-footer-contact {
	display: block;
	margin-top: 15px;
	font-size: 13px;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}
.pci-footer-bottom {
	display: flex;
	gap: 24px;
	justify-content: space-between;
	align-items: flex-start;
	padding: 25px 0 30px;
	border-top: 1px solid rgba(255,255,255,0.14);
}
.pci-footer-bottom p,
.pci-footer-legal address {
	font: 400 12px/1.7 var(--pci-corpo);
	margin: 0 0 4px;
	color: #c9bdb3;
}
.pci-footer-legal {
	min-width: 0;
	max-width: 720px;
}
.pci-footer-legal p:first-child {
	color: #a99d95;
	margin-bottom: 8px;
}
.pci-footer-legal address { font-style: normal; }
.pci-footer-bottom-links {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 20px;
	padding-top: 3px;
}
.pci-footer-bottom-links a {
	display: inline-block;
	font: 650 12px/1.5 var(--pci-corpo);
	color: #f1e8df;
	border-bottom: 1px solid rgba(241,232,223,0.6);
	text-decoration: none;
}
.pci-footer-bottom-links a:hover,
.pci-footer-bottom-links a:focus-visible {
	color: #f0a9a0;
	border-color: currentColor;
}

/* Le sezioni Elementor gestiscono internamente la propria larghezza. */
.page-template-elementor_header_footer .site-content > .ast-container {
	max-width: 100%;
	width: 100%;
	padding-inline: 0;
}

/* Tablet: il menu principale cede il posto alla navigazione accessibile. */
@media (max-width: 1110px) {
	.pci-primary-nav,
	.pci-header-action { display: none; }
	.pci-header-main { min-height: 86px; }
	.pci-mobile-navigation {
		display: block;
		position: relative;
		flex: 0 0 auto;
		margin-left: auto;
	}
	.pci-mobile-navigation > summary {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 9px;
		padding: 11px 14px;
		border: 1px solid var(--pci-linea);
		color: var(--pci-carbone);
		background: #fff;
		font: 650 13px/1.1 var(--pci-corpo);
		cursor: pointer;
		list-style: none;
	}
	.pci-mobile-navigation > summary::-webkit-details-marker { display: none; }
	.pci-mobile-navigation > summary::marker { content: ""; }
	.pci-mobile-navigation[open] > summary { color: var(--pci-rubino); border-color: var(--pci-rubino); }
	.pci-mobile-navigation__panel {
		position: absolute;
		z-index: 999;
		top: calc(100% + 16px);
		right: 0;
		width: min(90vw, 440px);
		max-height: min(72svh, 680px);
		overflow: auto;
		overscroll-behavior: contain;
		background: var(--pci-latte);
		border-top: 4px solid var(--pci-rubino);
		box-shadow: 0 18px 52px rgba(35, 24, 24, 0.19);
		padding: 15px 23px 24px;
	}
	.pci-mobile-menu-list > li {
		border-bottom: 1px solid var(--pci-linea);
	}
	.pci-mobile-menu-list > li > a {
		display: block;
		padding: 13px 0;
		font: 650 15px/1.45 var(--pci-corpo);
		color: var(--pci-carbone);
	}
	.pci-mobile-menu-list li a:hover,
	.pci-mobile-menu-list li a:focus-visible { color: var(--pci-rubino); }
	.pci-mobile-menu-list .sub-menu {
		margin: 0 0 10px 13px !important;
		border-left: 2px solid var(--pci-sabbia);
	}
	.pci-mobile-menu-list .sub-menu a {
		display: block;
		padding: 8px 12px;
		color: #514b46;
		font: 500 13px/1.45 var(--pci-corpo);
	}
}
@media (max-width: 820px) {
	.pci-footer-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 36px 40px;
	}
	.pci-footer-participate { grid-column: 1 / -1; }
	.pci-site-footer { padding-top: 46px; }
}
@media (max-width: 600px) {
	.pci-shell { width: min(100% - 32px, 1260px); }
	.pci-header-strip__inner { min-height: 30px; font-size: 10px; }
	.pci-header-strip__inner span:last-child { display: none; }
	.pci-header-main { min-height: 80px; }
	.pci-brand { gap: 9px; min-width: 0; }
	.pci-brand-mark { width: 40px; height: 40px; font-size: 13px; }
	.pci-brand-type__small { font-size: 9px; }
	.pci-brand-type__large { font-size: 18px; }
	.pci-mobile-navigation__panel { right: -1px; width: min(90vw, 380px); }
	.pci-footer-grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 35px; }
	.pci-footer-participate { grid-column: auto; }
	.pci-footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
	.pci-footer-bottom p:last-child { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
	.pci-site-header a,
	.pci-site-footer a,
	.pci-menu .sub-menu { transition: none !important; }
}
