/*
Theme Name: Archè 2025
Theme URI: https://www.archeservizi.it/archesrl/
Description: Child theme di Twenty Twenty-Five per Archè Srl. Stessi colori, logo e font (Archivo, Archivo Black, Archivo Narrow); migliora navigazione, leggibilità e fruibilità dei contenuti.
Author: Archè Srl
Template: twentytwentyfive
Version: 1.1.2
Requires at least: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: arche-2025
*/

/* ==========================================================================
   0. Token
   ========================================================================== */
:root {
	--arche-bordeaux: var(--wp--preset--color--custom-color-5);
	--arche-rosso: var(--wp--preset--color--custom-color-1);
	--arche-arancio: var(--wp--preset--color--custom-color-6);
	--arche-azzurro: var(--wp--preset--color--custom-color-2);
	--arche-surface: var(--wp--preset--color--surface);
	--arche-ink: var(--wp--preset--color--contrast);
	--arche-muted: #4d4d4d;
	--arche-radius: 16px;
	--arche-radius-sm: 10px;
	--arche-shadow: 0 1px 2px rgb(60 0 2 / .06), 0 8px 24px -8px rgb(60 0 2 / .14);
	--arche-shadow-lg: 0 2px 4px rgb(60 0 2 / .06), 0 22px 44px -16px rgb(60 0 2 / .28);
	--arche-topbar-h: 40px;
	--arche-ease: cubic-bezier(.2, .7, .2, 1);
	--arche-gutter: clamp(1rem, 4vw, 2rem);
}

html { scroll-behavior: smooth; scroll-padding-top: 120px; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

::selection { background: var(--arche-arancio); color: var(--arche-bordeaux); }

:where(.arche) :focus-visible {
	outline: 3px solid var(--arche-arancio);
	outline-offset: 3px;
	border-radius: 4px;
}


/* Link nel testo: sottolineatura più leggibile. */
.arche .arche-content :where(p, li, td) a:not(.wp-block-button__link) {
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
}

/* ==========================================================================
   1. Header
   ========================================================================== */
/* Anche :has() per i template del tema padre che richiamano l'header senza la classe arche-header */
.arche-header,
.wp-block-template-part:has(> .arche-topbar) {
	position: sticky;
	top: calc(-1 * var(--arche-topbar-h));
	z-index: 100;
}
.admin-bar :is(.arche-header, .wp-block-template-part:has(> .arche-topbar)) { top: calc(32px - var(--arche-topbar-h)); }
@media (max-width: 782px) { .admin-bar :is(.arche-header, .wp-block-template-part:has(> .arche-topbar)) { top: calc(-1 * var(--arche-topbar-h)); } }

/* Barra superiore */
.arche-topbar {
	height: var(--arche-topbar-h);
	display: flex;
	align-items: center;
	font-family: var(--wp--preset--font-family--archivo-narrow);
	font-size: .9rem;
	line-height: 1;
}
.arche-topbar > * { width: 100%; }
.arche-topbar__inner { gap: 1.5rem; }
.arche-topbar p { margin: 0; }
.arche-topbar a { color: inherit; text-decoration: none; }
.arche-topbar a:hover { text-decoration: underline; color: var(--arche-arancio); }
.arche-topbar__contacts { gap: 1.25rem; }
.arche-topbar .wp-block-social-links { gap: .6rem; }
@media (max-width: 781px) {
	.arche-topbar__claim { display: none; }
	.arche-topbar__inner { justify-content: center !important; }
}

/* Icone inline via mask (ereditano il colore del testo) */
.arche-ico { display: inline-flex; align-items: center; gap: .45em; }
.arche-ico::before {
	content: "";
	width: 1.05em; height: 1.05em;
	flex: none;
	background: currentColor;
	-webkit-mask: var(--i) center / contain no-repeat;
	mask: var(--i) center / contain no-repeat;
}
.arche-ico--phone { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.arche-ico--mail { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
.arche-ico--pin { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.arche-ico--clock { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); }

/* Barra principale */
.arche-mainbar {
	transition: box-shadow .25s var(--arche-ease);
	border-bottom: 1px solid rgb(124 0 3 / .08);
}
.arche-scrolled .arche-mainbar { box-shadow: 0 10px 30px -18px rgb(60 0 2 / .45); }
.arche-mainbar__inner {
	gap: 1.5rem;
	padding-block: .85rem;
	transition: padding .25s var(--arche-ease);
}
.arche-scrolled .arche-mainbar__inner { padding-block: .45rem; }
.arche-mainbar__nav { gap: 1rem; flex: 1 1 auto; }

/* FIX: sul sito attuale un plugin "sticky" porta l'header a width:0 e il logo sparisce. */
.arche-logo { flex: none; }
.arche-logo img { transition: width .25s var(--arche-ease); height: auto; }
.arche-scrolled .arche-logo img { width: 118px !important; }

/* Navigazione desktop */
.arche-nav .wp-block-navigation__container { gap: clamp(.9rem, 1.8vw, 1.9rem); }
.arche-nav .wp-block-navigation-item__content { position: relative; padding-block: .35rem; }
.arche-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute; left: 0; right: 0; bottom: -2px;
	height: 3px; border-radius: 3px;
	background: var(--arche-rosso);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s var(--arche-ease);
}
.arche-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.arche-nav .wp-block-navigation__container > .wp-block-navigation-item > [aria-current="page"]::after,
.arche-nav .wp-block-navigation__container > .arche-current-section > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}
.arche-nav .wp-block-navigation-item__content:hover { text-decoration: none; }

/* Descrizioni delle voci: nascoste nel menu principale, visibili nei sottomenu */
.arche-nav .wp-block-navigation-item__description { display: none; }

@media (min-width: 1081px) {
	.arche-nav .wp-block-navigation__submenu-container {
		border: 0 !important;
		border-radius: var(--arche-radius);
		box-shadow: var(--arche-shadow-lg);
		padding: .5rem !important;
		background: var(--wp--preset--color--base) !important;
		margin-top: .6rem;
	}
	/* Ponte invisibile per non perdere l'hover tra voce e pannello */
	.arche-nav .wp-block-navigation__submenu-container::before {
		content: ""; position: absolute; left: 0; right: 0; top: -.8rem; height: .8rem;
	}
	.arche-nav .has-child:hover > .wp-block-navigation__submenu-container,
	.arche-nav .has-child:focus-within > .wp-block-navigation__submenu-container,
	.arche-nav .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		min-width: 300px !important;
	}
	.arche-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: flex; flex-direction: column; gap: .15rem;
		padding: .65rem .9rem !important;
		border-radius: var(--arche-radius-sm);
		transition: background .15s;
	}
	.arche-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	.arche-nav .wp-block-navigation__submenu-container [aria-current="page"] {
		background: var(--arche-surface);
	}
	.arche-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__label { color: var(--arche-bordeaux); }
	.arche-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__description {
		display: block;
		font-family: var(--wp--preset--font-family--archivo);
		font-weight: 400;
		font-size: .82rem;
		line-height: 1.35;
		color: var(--arche-muted);
	}
	/* "Corsi": pannello a due colonne */
	.arche-nav .arche-mega:hover > .wp-block-navigation__submenu-container,
	.arche-nav .arche-mega:focus-within > .wp-block-navigation__submenu-container,
	.arche-nav .arche-mega .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		width: 600px !important;
	}
	.arche-nav .arche-mega .arche-nav-all { grid-column: 1 / -1; }
	.arche-nav .arche-mega .arche-nav-all > .wp-block-navigation-item__content {
		background: var(--arche-bordeaux);
	}
	.arche-nav .arche-mega .arche-nav-all > .wp-block-navigation-item__content:hover { background: var(--arche-rosso); }
	.arche-nav .arche-mega .arche-nav-all .wp-block-navigation-item__label,
	.arche-nav .arche-mega .arche-nav-all .wp-block-navigation-item__description { color: #fff; }
}

/* Sotto i 1080px il menu completo non ci sta: usiamo l'overlay (hamburger) */
@media (min-width: 600px) and (max-width: 1080px) {
	.arche-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.arche-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
/* Overlay mobile */
.arche-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem var(--arche-gutter) 2rem;
}
.arche-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch;
	gap: 0;
	padding-top: 3rem;
}
.arche-nav .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; }
.arche-nav .is-menu-open .wp-block-navigation-item { width: 100%; }
.arche-nav .is-menu-open :is(.wp-block-navigation__container, .wp-block-navigation-item, .wp-block-navigation__submenu-container) {
	align-items: flex-start !important;
	text-align: left;
}
.arche-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	border-bottom: 1px solid rgb(124 0 3 / .12);
	padding-block: .6rem;
}
.arche-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--archivo-black);
	font-weight: 400;
	font-size: 1.35rem;
	color: var(--arche-bordeaux);
}
.arche-nav .is-menu-open .wp-block-navigation-item__content::after { display: none; }
.arche-nav .is-menu-open .wp-block-navigation__submenu-container {
	padding: .4rem 0 0 .9rem !important;
	gap: .15rem !important;
}
.arche-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 1.05rem;
	padding-block: .3rem;
}

/* Ricerca a icona */
.arche-search .wp-block-search__button {
	background: var(--wp--preset--color--base);
	color: var(--arche-bordeaux);
	border-radius: 999px !important;
	width: 44px; height: 44px;
	padding: 0; margin: 0;
	display: grid; place-items: center;
}
.arche-search .wp-block-search__button:hover { background: var(--arche-bordeaux); color: #fff; }
.arche-search .wp-block-search__input { border-radius: 999px; border: 1px solid rgb(124 0 3 / .25); padding-inline: 1rem; }
.arche-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper { min-width: 240px; }

.arche-header-cta .wp-block-button__link { padding: .65rem 1.3rem; font-size: .95rem; }

/* Mobile: la ricerca resta disponibile; aperta, il campo occupa tutta la larghezza sotto l'header */
@media (max-width: 599px) {
	.arche-mainbar__inner { position: relative; gap: .75rem; }
	.arche-mainbar__nav { gap: .5rem; }
	.arche-logo img { width: 120px !important; }
	.arche-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper {
		position: absolute; left: 0; right: 0; top: calc(100% + .35rem); z-index: 5;
		min-width: 0; padding: .5rem; background: #fff;
		border-radius: 999px; box-shadow: var(--arche-shadow-lg);
	}
}
@media (max-width: 479px) {
	.arche-header-cta { display: none !important; }
}

/* Campo di ricerca nelle pagine Ricerca e 404 */
.arche-search-page { margin-top: 1.5rem; max-width: 560px; }
.arche-search-page .wp-block-search__inside-wrapper { gap: .5rem; }
.arche-search-page .wp-block-search__input {
	border-radius: 999px; border: 1px solid rgb(124 0 3 / .25); padding: .8rem 1.2rem; background: #fff; font-size: 1rem;
}
.arche-search-page .wp-block-search__button { margin-left: 0; }
.arche-page-hero .wp-block-query-title { margin: .35rem 0 0; }

/* Risultati di ricerca */
.arche-result .wp-block-post-title { font-size: 1.1rem; margin: 0; line-height: 1.25; }
.arche-result .wp-block-post-title a { color: var(--arche-bordeaux); }
.arche-result .wp-block-post-excerpt { margin: 0; font-size: .92rem; color: var(--arche-muted); }
.arche-result .wp-block-post-excerpt__more-text { display: none; }
.arche .wp-block-query-pagination { margin-top: 2rem; font-family: var(--wp--preset--font-family--archivo-narrow); font-weight: 700; }

/* ==========================================================================
   2. Layout generale e breadcrumb
   ========================================================================== */
.arche-main { margin-block: 0; padding-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.arche-main--home { padding-bottom: 0; }
.arche-main > .arche-content { margin-block-start: 0; }

.arche-crumbs { padding-top: 1.1rem; margin-bottom: .5rem; }
.arche-crumbs .wp-block-breadcrumbs { color: var(--arche-muted); }
.arche-crumbs .wp-block-breadcrumbs a { color: var(--arche-muted); text-decoration: none; }
.arche-crumbs .wp-block-breadcrumbs a:hover { color: var(--arche-bordeaux); text-decoration: underline; }
.arche-crumbs .wp-block-breadcrumbs [aria-current="page"],
.arche-crumbs .wp-block-breadcrumbs li:last-child span { color: var(--arche-bordeaux); font-weight: 600; }

/* ==========================================================================
   3. Stili di blocco registrati
   ========================================================================== */
/* Occhiello */
.is-style-arche-eyebrow {
	display: inline-flex; align-items: center; gap: .6rem;
	font-family: var(--wp--preset--font-family--archivo-narrow);
	font-weight: 700;
	font-size: .9rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--arche-rosso);
	margin-bottom: .4rem !important;
}
.is-style-arche-eyebrow::before {
	content: ""; width: 28px; height: 3px; border-radius: 3px; background: var(--arche-arancio);
}
.has-text-color.is-style-arche-eyebrow { color: inherit; }

/* Etichetta / chip */
p.is-style-arche-chip {
	display: inline-flex; align-items: center; gap: .4em;
	width: fit-content;
	margin: 0;
	padding: .3rem .75rem;
	border-radius: 999px;
	background: var(--arche-surface);
	color: var(--arche-bordeaux);
	font-family: var(--wp--preset--font-family--archivo-narrow);
	font-weight: 600;
	font-size: .88rem;
	line-height: 1.2;
}

/* Testo introduttivo */
.is-style-arche-lead { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); line-height: 1.55; color: var(--arche-muted); }

/* Scheda */
.is-style-arche-card,
.is-style-arche-card-link {
	background: var(--wp--preset--color--base);
	border: 1px solid rgb(124 0 3 / .1);
	border-radius: var(--arche-radius);
	box-shadow: var(--arche-shadow);
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
}
.is-style-arche-card > :first-child, .is-style-arche-card-link > :first-child { margin-top: 0; }
.is-style-arche-card > :last-child, .is-style-arche-card-link > :last-child { margin-bottom: 0; }

/* Scheda interamente cliccabile: il primo link "si estende" su tutta la card */
.is-style-arche-card-link {
	position: relative;
	transition: transform .25s var(--arche-ease), box-shadow .25s var(--arche-ease), border-color .25s;
}
.is-style-arche-card-link:hover {
	transform: translateY(-4px);
	box-shadow: var(--arche-shadow-lg);
	border-color: rgb(201 12 15 / .35);
}
.is-style-arche-card-link :is(h2, h3, h4) a::after {
	content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 1;
}
.is-style-arche-card-link :is(h2, h3, h4) a { text-decoration: none; color: inherit; }
.is-style-arche-card-link:hover :is(h2, h3, h4) a { color: var(--arche-rosso); }
.is-style-arche-card-link:focus-within { outline: 3px solid var(--arche-arancio); outline-offset: 3px; }
.is-style-arche-card-link :focus-visible { outline: none; }

/* Riquadro fisso per sidebar */
@media (min-width: 782px) {
	.is-style-arche-sticky { position: sticky; top: 110px; }
}

/* Fascia bordeaux */
.is-style-arche-band {
	background: var(--wp--preset--gradient--arche-bordeaux);
	color: #fff;
}
.is-style-arche-band :is(h1, h2, h3) { color: #fff; }

/* Elenco con spunte */
ul.is-style-arche-check { list-style: none; padding-left: 0; }
ul.is-style-arche-check li { position: relative; padding-left: 1.9rem; margin-bottom: .55rem; }
ul.is-style-arche-check li::before {
	content: ""; position: absolute; left: 0; top: .2em;
	width: 1.25rem; height: 1.25rem; border-radius: 50%;
	background: var(--arche-arancio) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c0003' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 70% no-repeat;
}

/* Immagine morbida */
.is-style-arche-soft img { border-radius: var(--arche-radius); box-shadow: var(--arche-shadow); }

/* Pulsante a contorno chiaro */
.is-style-arche-ghost .wp-block-button__link {
	background: transparent;
	color: #fff;
	box-shadow: inset 0 0 0 2px rgb(255 255 255 / .75);
}
.is-style-arche-ghost .wp-block-button__link:hover { background: #fff; color: var(--arche-bordeaux); }

/* Pulsanti su fondo bordeaux/rosso: hover a contrasto (fondo bianco, testo bordeaux).
   !important perché i contenuti esistenti usano le classi colore di WordPress, che sono !important. */
:is(.has-custom-color-5-background-color, .has-custom-color-1-background-color, .is-style-arche-band, .arche-hero, .arche-prefooter__card)
	.wp-block-button__link:is(:hover, :focus-visible) {
	background-color: #fff !important;
	color: var(--arche-bordeaux) !important;
	border-color: #fff !important;
	box-shadow: 0 8px 20px -8px rgb(0 0 0 / .45);
}

/* Link testuali su fondo bordeaux/rosso: bianchi e sempre visibili */
:is(.has-custom-color-5-background-color, .has-custom-color-1-background-color, .is-style-arche-band) a:not(.wp-block-button__link, .arche-topbar a, .arche-legal a) {
	color: #fff !important;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .2em;
	text-decoration-color: var(--arche-arancio);
}
:is(.has-custom-color-5-background-color, .has-custom-color-1-background-color, .is-style-arche-band) a:not(.wp-block-button__link, .arche-topbar a, .arche-legal a):hover {
	color: var(--arche-arancio) !important;
}

/* Riquadri "citazione" bordeaux (pagine Formazione finanziata/autofinanziata):
   titolo più evidente, sottotitolo leggibile, freccia che invita al clic */
.wp-block-pullquote.has-custom-color-5-background-color { border: 0; margin: 0; flex: 1; display: flex; align-items: center; }
.wp-block-column:has(> .wp-block-pullquote.has-custom-color-5-background-color) { align-self: stretch; display: flex; }
.wp-block-pullquote.has-custom-color-5-background-color blockquote { margin: 0; padding-inline: clamp(.5rem, 2vw, 1.5rem); }
.wp-block-pullquote.has-custom-color-5-background-color blockquote p {
	font-family: var(--wp--preset--font-family--archivo-black);
	font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem);
	line-height: 1.2;
	margin: 0 0 .6rem;
}
.wp-block-pullquote.has-custom-color-5-background-color blockquote p strong { font-weight: 400; }
.wp-block-pullquote.has-custom-color-5-background-color blockquote p a::after { content: " →"; font-family: var(--wp--preset--font-family--archivo); }
.wp-block-pullquote.has-custom-color-5-background-color cite {
	display: block;
	font-family: var(--wp--preset--font-family--archivo-narrow);
	font-style: normal;
	font-size: 1rem;
	letter-spacing: .02em;
	color: rgb(255 255 255 / .85);
}

/* Pulsanti: micro-interazione */
.wp-block-button__link { transition: background-color .2s, color .2s, transform .2s var(--arche-ease), box-shadow .2s; }
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--arche-bordeaux);
	box-shadow: inset 0 0 0 2px currentColor; border: 0;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--arche-bordeaux); color: #fff; }

/* Tabella */
.is-style-arche-table table { border-collapse: separate; border-spacing: 0; border-radius: var(--arche-radius); overflow: hidden; box-shadow: var(--arche-shadow); }
.is-style-arche-table :is(td, th) { border: 0; padding: .8rem 1rem; border-bottom: 1px solid rgb(124 0 3 / .08); }
.is-style-arche-table thead th { background: var(--arche-bordeaux); color: #fff; text-align: left; font-family: var(--wp--preset--font-family--archivo-narrow); font-size: 1rem; letter-spacing: .03em; }
.is-style-arche-table tbody tr:nth-child(even) { background: var(--arche-surface); }
.is-style-arche-table :is(td, th):not(:first-child) { text-align: right; white-space: nowrap; }
.is-style-arche-table tfoot td { background: var(--arche-azzurro); font-weight: 700; color: var(--arche-bordeaux); }

/* ==========================================================================
   4. Blocchi core ritoccati
   ========================================================================== */
/* Accordion nativo */
.arche .wp-block-accordion { display: grid; gap: .75rem; }
.arche .wp-block-accordion-item {
	background: var(--wp--preset--color--base);
	border: 1px solid rgb(124 0 3 / .12);
	border-radius: var(--arche-radius-sm);
	overflow: hidden;
	transition: box-shadow .2s, border-color .2s;
}
.arche .wp-block-accordion-item.is-open { border-color: rgb(124 0 3 / .3); box-shadow: var(--arche-shadow); }
.arche .wp-block-accordion-heading { margin: 0; font-size: 1.05rem; font-family: var(--wp--preset--font-family--archivo); font-weight: 700; }
.arche .wp-block-accordion-heading__toggle { padding: 1rem 1.25rem; color: var(--arche-bordeaux); gap: 1rem; }
.arche .wp-block-accordion-heading__toggle:hover { background: var(--arche-surface); }
.arche .wp-block-accordion-heading__toggle-title { text-decoration: none !important; }
.arche .wp-block-accordion-heading__toggle-icon {
	flex: none; width: 1.8rem; height: 1.8rem; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--arche-arancio); color: var(--arche-bordeaux);
	font-weight: 700;
}
.arche .wp-block-accordion-panel { padding: 0 1.25rem 1.25rem; }

/* Details (usato nei contenuti esistenti) */
.arche .wp-block-details {
	border: 1px solid rgb(124 0 3 / .12);
	border-radius: var(--arche-radius-sm);
	padding: 0;
	background: var(--wp--preset--color--base);
	overflow: hidden;
}
.arche .wp-block-details + .wp-block-details { margin-top: .6rem; }
.arche .wp-block-details summary {
	padding: .9rem 1.2rem;
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	color: var(--arche-bordeaux);
	display: flex; justify-content: space-between; align-items: center; gap: 1rem;
}
.arche .wp-block-details summary::-webkit-details-marker { display: none; }
.arche .wp-block-details summary::after {
	content: "+"; flex: none;
	width: 1.7rem; height: 1.7rem; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--arche-arancio); color: var(--arche-bordeaux);
	font-weight: 700; transition: transform .2s;
}
.arche .wp-block-details[open] summary::after { transform: rotate(45deg); }
.arche .wp-block-details summary:hover { background: var(--arche-surface); }
.arche .wp-block-details > :not(summary) { padding-inline: 1.2rem; }
.arche .wp-block-details > :last-child { padding-bottom: 1rem; }

/* ==========================================================================
   5. Sezioni (home e pagine)
   ========================================================================== */
.arche-section { padding-block: clamp(3rem, 7vw, 5.5rem); }
.arche-section--tint { background: var(--arche-surface); }
.arche-section--flush-bottom { padding-bottom: 0; }
.arche-section__head { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.arche-section__head > * { margin-block: 0; }
.arche-section__head h2 { margin-top: .25rem; }
.arche-section__head p:not(.is-style-arche-eyebrow) { color: var(--arche-muted); max-width: 62ch; margin-top: .75rem; }

/* Hero */
.arche-hero {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--gradient--arche-bordeaux);
	color: #fff;
	padding-block: clamp(3rem, 8vw, 6rem) clamp(3.5rem, 8vw, 6.5rem);
	isolation: isolate;
}
.arche-hero::before, .arche-hero::after {
	content: ""; position: absolute; border-radius: 50%; z-index: -1; pointer-events: none;
}
.arche-hero::before {
	width: 620px; height: 620px; right: -180px; top: -240px;
	background: radial-gradient(closest-side, rgb(253 163 92 / .35), transparent);
}
.arche-hero::after {
	width: 420px; height: 420px; left: -160px; bottom: -220px;
	background: radial-gradient(closest-side, rgb(201 12 15 / .55), transparent);
}
.arche-hero h1 { color: #fff; margin-top: .5rem; }
.arche-hero h1 mark { background: none; color: var(--arche-arancio); }
.arche-hero .is-style-arche-eyebrow { color: var(--arche-arancio); }
.arche-hero .is-style-arche-lead { color: rgb(255 255 255 / .86); }
.arche-hero__media img {
	border-radius: 22px;
	box-shadow: 0 30px 60px -20px rgb(0 0 0 / .55);
	aspect-ratio: 3 / 2;
	object-fit: cover;
	width: 100%;
}
.arche-hero__media figcaption {
	color: rgb(255 255 255 / .8);
	font-family: var(--wp--preset--font-family--archivo-narrow);
	font-size: .95rem;
	text-align: left;
}
.arche-hero__media figcaption a { color: var(--arche-arancio); font-weight: 600; }

.arche-badges { gap: .5rem !important; margin-top: 1.75rem !important; }
.arche-badges p.is-style-arche-chip {
	background: rgb(255 255 255 / .1);
	color: #fff;
	box-shadow: inset 0 0 0 1px rgb(255 255 255 / .22);
	backdrop-filter: blur(4px);
	font-weight: 400;
}
.arche-badges p.is-style-arche-chip strong { color: var(--arche-arancio); font-weight: 700; }

/* "Cosa stai cercando?": percorsi rapidi, sovrapposti all'hero */
.arche-paths { margin-top: calc(-1 * clamp(2rem, 5vw, 3.5rem)) !important; position: relative; z-index: 2; }
.arche-paths__grid { gap: 1rem !important; }
.arche-path { display: flex; flex-direction: column; gap: .5rem; }
.arche-path::before,
.arche-feature[class*="arche-i-"]::before {
	content: "";
	width: 52px; height: 52px; flex: none;
	border-radius: 14px;
	background: var(--arche-surface) var(--i) center / 26px no-repeat;
	transition: background-color .2s;
}
.arche-path:hover::before { background-color: var(--arche-arancio); }
.arche-path h3 { font-size: 1.12rem; margin: .35rem 0 0; }
.arche-path p { margin: 0; font-size: .95rem; color: var(--arche-muted); }
.arche-path__more {
	margin-top: auto; padding-top: .5rem;
	font-family: var(--wp--preset--font-family--archivo-narrow);
	font-weight: 700; color: var(--arche-rosso);
}
.arche-path__more::after { content: " →"; transition: margin .2s; }
.is-style-arche-card-link:hover .arche-path__more::after { margin-left: .25rem; }
/* Icone delle card (tratto bordeaux #7c0003) */
.arche-i-gift { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c0003' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M12 8v13M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7M7.5 8a2.5 2.5 0 0 1 0-5C9.5 3 12 8 12 8s2.5-5 4.5-5a2.5 2.5 0 0 1 0 5'/%3E%3C/svg%3E"); }
.arche-i-award { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c0003' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.5 12.9 17 22l-5-3-5 3 1.5-9.1'/%3E%3C/svg%3E"); }
.arche-i-shield { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c0003' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.arche-i-building { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c0003' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2' width='16' height='20' rx='2'/%3E%3Cpath d='M9 22v-4h6v4M8 6h.01M16 6h.01M12 6h.01M12 10h.01M12 14h.01M16 10h.01M16 14h.01M8 10h.01M8 14h.01'/%3E%3C/svg%3E"); }
.arche-i-code { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c0003' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 18 6-6-6-6M8 6l-6 6 6 6'/%3E%3C/svg%3E"); }
.arche-i-screen { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c0003' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4M10 8l4 2-4 2z'/%3E%3C/svg%3E"); }
.arche-i-heart { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c0003' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.8 0-3 .5-4.5 2-1.5-1.5-2.7-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z'/%3E%3C/svg%3E"); }

/* Scorrimento orizzontale "In evidenza" */
.arche-scroller {
	display: grid !important;
	grid-auto-flow: column;
	grid-auto-columns: minmax(300px, 1fr);
	gap: 1.25rem !important;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 1rem;
	scrollbar-width: thin;
	scrollbar-color: var(--arche-arancio) transparent;
}
.arche-scroller > * { scroll-snap-align: start; margin: 0 !important; }
@media (max-width: 781px) { .arche-scroller { grid-auto-columns: 85%; } }
.arche-news img { aspect-ratio: 5 / 4; object-fit: cover; object-position: top; width: 100%; border-radius: var(--arche-radius-sm); }
.arche-news h3 { font-size: 1.1rem; margin: 1rem 0 .35rem; }
.arche-news p { font-size: .95rem; color: var(--arche-muted); margin: 0; }
.arche-news .is-style-arche-chip { margin-top: 1rem; }

/* Catalogo corsi */
.arche-course-grid { gap: 1rem !important; }
.arche-course { display: flex; flex-direction: column; gap: .6rem; padding: 1.25rem 1.35rem !important; }
.arche-course h3, .arche-course h4 { font-size: 1.05rem; line-height: 1.25; margin: 0; }
.arche-course .arche-course__meta { display: flex; flex-wrap: wrap; gap: .4rem; }
.arche-course p:not(.is-style-arche-chip) { margin: 0; font-size: .92rem; color: var(--arche-muted); }
.arche-course p.arche-course__cta { margin-top: auto; padding-top: .25rem; font-family: var(--wp--preset--font-family--archivo-narrow); font-weight: 700; color: var(--arche-rosso); font-size: .95rem; }
.arche-course .arche-course__cta::after { content: " →"; }
.arche-course h3 a, .arche-course h4 a { color: var(--arche-bordeaux); }
.arche-course__area {
	font-family: var(--wp--preset--font-family--archivo-narrow);
	text-transform: uppercase; letter-spacing: .1em; font-size: .78rem !important; font-weight: 700;
	color: var(--arche-rosso) !important;
}
.arche-group-title { display: flex; align-items: center; gap: .75rem; margin: 2.5rem 0 1rem !important; font-size: 1.35rem !important; }
.arche-group-title::after { content: ""; flex: 1; height: 2px; background: linear-gradient(90deg, var(--arche-azzurro), transparent); }

/* Ancore rapide (filtro) */
.arche-quicknav { gap: .5rem !important; }
.arche-quicknav p { margin: 0; }
.arche-quicknav a {
	display: inline-block; padding: .5rem 1rem; border-radius: 999px;
	background: var(--wp--preset--color--base); color: var(--arche-bordeaux);
	box-shadow: inset 0 0 0 1.5px rgb(124 0 3 / .25);
	text-decoration: none; font-family: var(--wp--preset--font-family--archivo-narrow); font-weight: 700;
	transition: background .15s, color .15s;
}
.arche-quicknav a:hover { background: var(--arche-bordeaux); color: #fff; }

/* Numeri */
.arche-stats {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 0 !important;
	border-radius: var(--arche-radius);
	overflow: hidden;
	background: var(--wp--preset--gradient--arche-bordeaux);
	color: #fff;
}
.arche-stat { padding: 1.75rem 1.5rem !important; position: relative; }
.arche-stat + .arche-stat::before { content: ""; position: absolute; left: 0; top: 22%; bottom: 22%; width: 1px; background: rgb(255 255 255 / .2); }
.arche-stat p { margin: 0; }
.arche-stat__num { font-family: var(--wp--preset--font-family--archivo-black); font-size: clamp(2rem, 1.5rem + 2vw, 2.8rem); line-height: 1; color: var(--arche-arancio); }
.arche-stat__label { margin-top: .5rem !important; color: rgb(255 255 255 / .88); font-size: .95rem; line-height: 1.4; }

/* Servizi */
.arche-services { gap: 1.25rem !important; }
.arche-service { padding: 0 !important; overflow: hidden; display: flex; flex-direction: column; }
.arche-service > * { margin-inline: 1.4rem !important; }
.arche-service > figure:first-child { margin: 0 !important; }
.arche-service figure img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; transition: transform .5s var(--arche-ease); }
.arche-service:hover figure img { transform: scale(1.04); }
.arche-service figure { overflow: hidden; }
.arche-service h3 { font-size: 1.15rem; margin-top: 1.1rem !important; margin-bottom: .4rem !important; }
.arche-service p { font-size: .95rem; color: var(--arche-muted); margin-top: 0; }
.arche-service .arche-path__more { margin-top: auto !important; padding-bottom: 1.3rem; }

/* Chi siamo (split) */
.arche-about .wp-block-image img { border-radius: var(--arche-radius); }
.arche-about__photos { position: relative; }
.arche-about__photos .wp-block-image:nth-child(2) {
	width: 55%; margin: -22% 0 0 auto !important; position: relative;
	border: 6px solid #fff; border-radius: calc(var(--arche-radius) + 6px);
	box-shadow: var(--arche-shadow-lg);
}

/* CTA arancio */
.arche-cta-orange {
	background: var(--arche-arancio);
	border-radius: 22px;
	padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.5rem, 4vw, 3rem) !important;
	gap: 1.25rem !important;
}
.arche-cta-orange h2 { margin: 0; font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem); }
.arche-cta-orange p { margin: .4rem 0 0; color: var(--arche-bordeaux); }
.arche-cta-orange .wp-block-button__link { background: var(--arche-bordeaux); color: #fff; }
.arche-cta-orange .wp-block-button__link:hover { background: var(--arche-rosso); }
.arche-cta-orange .is-style-outline .wp-block-button__link { background: transparent; color: var(--arche-bordeaux); }
.arche-cta-orange .is-style-outline .wp-block-button__link:hover { background: var(--arche-bordeaux); color: #fff; }

/* ==========================================================================
   6. Pagina corso
   ========================================================================== */
.arche-page-hero {
	background: var(--arche-surface);
	border-radius: 24px;
	padding: clamp(1.75rem, 5vw, 3.25rem) !important;
	position: relative; overflow: hidden;
}
.arche-page-hero::after {
	content: ""; position: absolute; right: -80px; top: -80px; width: 280px; height: 280px; border-radius: 50%;
	background: radial-gradient(closest-side, rgb(253 163 92 / .45), transparent);
	pointer-events: none;
}
.arche-page-hero h1 { margin: .35rem 0 .75rem; }
.arche-page-hero .is-style-arche-lead { max-width: 60ch; margin: 0; }
.arche-page-hero .arche-course__meta { margin-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.arche-page-hero .is-style-arche-chip { background: #fff; }

.arche-course-layout { gap: clamp(1.5rem, 4vw, 3.5rem) !important; margin-top: clamp(1.75rem, 4vw, 3rem) !important; }
.arche-course-layout h2 { font-size: clamp(1.35rem, 1.15rem + .8vw, 1.75rem); margin-top: 2.5rem; scroll-margin-top: 120px; }
.arche-course-layout .wp-block-column > h2:first-child { margin-top: 0; }

.arche-toc { margin-top: 0 !important; }
.arche-intro {
	font-size: 1.12rem;
	line-height: 1.6;
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--arche-arancio);
	background: var(--arche-surface);
	border-radius: 0 var(--arche-radius-sm) var(--arche-radius-sm) 0;
}
.arche-plan { gap: 1rem !important; }
.arche-plan h3 { font-size: 1.1rem; margin-top: 0; }
.arche-toc p { margin: 0; }
.arche-toc a { font-size: .95rem; }

.arche-facts { list-style: none; padding: 0; margin: 0 0 1.25rem; display: grid; gap: .1rem; }
/* "Il corso in breve": tutto in Archivo Narrow regular (versione condensata di Archivo).
   Griglia a due colonne: l'etichetta non si spezza mai, il valore va a capo allineato a destra. */
.arche-facts li {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	align-items: baseline;
	column-gap: 1rem;
	padding: .7rem 0;
	border-bottom: 1px dashed rgb(124 0 3 / .18);
	font-family: var(--wp--preset--font-family--archivo-narrow);
	font-weight: 400;
	font-size: 1.02rem;
	line-height: 1.35;
	overflow-wrap: normal;
	word-break: normal;
}
.arche-facts li strong {
	font-weight: 400;
	color: var(--arche-bordeaux);
	text-align: right;
}
.arche-sidebar h2, .arche-sidebar h3 { margin-top: 0; font-size: 1.2rem; }
.arche-sidebar .wp-block-buttons { flex-direction: column; align-items: stretch; gap: .5rem; }
.arche-sidebar .wp-block-button, .arche-sidebar .wp-block-button__link { width: 100%; text-align: center; }
.arche-sidebar .wp-block-button + .wp-block-button { margin-top: 0; }
.arche-sidebar .arche-help { margin-top: 1rem; font-size: .9rem; color: var(--arche-muted); }

/* Timeline "La nostra storia" */
.arche-timeline ul { list-style: none; padding: 0; margin: 0; border-left: 3px solid var(--arche-azzurro); }
.arche-timeline li { position: relative; padding: 0 0 1.1rem 1.4rem; }
.arche-timeline li::before {
	content: ""; position: absolute; left: -9px; top: .35rem; width: 15px; height: 15px;
	border-radius: 50%; background: #fff; border: 3px solid var(--arche-rosso);
}
.arche-timeline li strong { display: block; font-family: var(--wp--preset--font-family--archivo-narrow); color: var(--arche-rosso); font-size: .92rem; letter-spacing: .04em; }

/* Pagine hub: sezioni, card informative, passaggi (stessa organizzazione di "I nostri corsi") */
.arche-hub-section { margin-top: clamp(2.5rem, 5vw, 3.75rem) !important; }
.arche-hub-section > .arche-group-title { margin-top: 0 !important; }
.arche-hub-intro { color: var(--arche-muted); max-width: 72ch; margin-bottom: 1.25rem !important; }
.arche-hero-buttons { margin-top: 1.5rem !important; }
.arche-features { gap: 1rem !important; }
.arche-feature { display: flex; flex-direction: column; gap: .5rem; }
.arche-feature h3 { font-size: 1.08rem; margin: .35rem 0 0; }
.arche-feature p { margin: 0; font-size: .95rem; color: var(--arche-muted); }
.arche-checklist ul { margin: 0; }
@media (min-width: 782px) { .arche-checklist ul { columns: 2; column-gap: 2.5rem; } .arche-checklist li { break-inside: avoid; } }
.arche-table-text :is(td, th):not(:first-child) { text-align: left !important; white-space: normal !important; }
.arche-table-text :is(td, th):last-child:not(:nth-child(2)) { width: 45%; }
.arche-table-text td:first-child { font-weight: 600; color: var(--arche-bordeaux); }
.arche-split { gap: clamp(1.5rem, 4vw, 3rem) !important; }
.arche-steps { gap: 1rem !important; counter-reset: step; }
.arche-step {
	position: relative;
	padding: 1.4rem 1.35rem 1.35rem;
	border-radius: var(--arche-radius);
	background: var(--arche-surface);
}
.arche-step h3 { font-size: 1.05rem; margin: .75rem 0 .35rem; }
.arche-step p:not(.arche-step__num) { margin: 0; font-size: .95rem; color: var(--arche-muted); }
.arche-step p.arche-step__num {
	margin: 0;
	width: 2.4rem; height: 2.4rem; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--arche-bordeaux); color: #fff;
	font-family: var(--wp--preset--font-family--archivo-black);
}
.arche-hub-section .arche-cta-orange h3 { margin: 0; font-size: clamp(1.3rem, 1.1rem + .8vw, 1.7rem); }

/* Loghi di finanziamento (PNRR/GOL): obbligatori, ben visibili ma sobri */
.arche-funding-logos { margin: 1.5rem auto 0 !important; max-width: 820px; text-align: center; }
.arche-funding-logos img { width: 100%; height: auto; }

/* Elenco documenti numerato (bandi, graduatorie, calendari) */
ol.arche-docs { list-style: none; counter-reset: doc; padding: 0; margin: 0; display: grid; gap: .5rem; }
ol.arche-docs li { counter-increment: doc; margin: 0; }
ol.arche-docs a {
	display: flex; align-items: center; gap: .85rem;
	padding: .7rem .9rem;
	border-radius: var(--arche-radius-sm);
	background: var(--arche-surface);
	color: var(--arche-bordeaux);
	font-weight: 600;
	text-decoration: none;
	transition: background .15s, color .15s, transform .15s;
}
ol.arche-docs a::before {
	content: counter(doc);
	flex: none; width: 1.8rem; height: 1.8rem; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--arche-bordeaux); color: #fff;
	font-family: var(--wp--preset--font-family--archivo-black); font-size: .85rem;
}
ol.arche-docs a::after {
	content: "PDF"; margin-left: auto;
	font-family: var(--wp--preset--font-family--archivo-narrow); font-size: .78rem; letter-spacing: .08em;
	padding: .15rem .5rem; border-radius: 999px; background: #fff; color: var(--arche-rosso);
}
ol.arche-docs a:hover { background: var(--arche-arancio); transform: translateX(3px); }
.arche-cw { padding: clamp(1.25rem, 3vw, 2rem) !important; }
.arche-cw .arche-cw-title { margin-top: 0; font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); }
.arche-cw .arche-course__meta { margin-bottom: 1rem; }

/* Catalogo GOL: prima colonna ampia, numeri compatti */
.arche-table-catalog table { table-layout: auto; }
.arche-table-catalog :is(td, th):first-child { width: 58%; }
.arche-table-catalog td a { font-weight: 600; white-space: nowrap; }
@media (max-width: 600px) {
	.arche-table-catalog { overflow-x: auto; }
	.arche-table-catalog table { min-width: 520px; }
}

/* Organizzazione aziendale: schede persona */
.arche-people { gap: 1rem !important; }
.arche-person { border-top: 4px solid var(--arche-arancio) !important; }
.arche-person--lead { grid-column: 1 / -1; text-align: center; background: var(--arche-surface) !important; }
.arche-people--staff .arche-person { border-top-color: var(--arche-azzurro) !important; padding-block: 1.1rem !important; }
.arche-people--staff .arche-person__name { font-size: 1.15rem !important; }
.arche-people-sub {
	margin: 1.75rem 0 .75rem !important;
	font-family: var(--wp--preset--font-family--archivo-narrow) !important;
	font-size: .95rem !important; font-weight: 700 !important;
	text-transform: uppercase; letter-spacing: .1em; color: var(--arche-rosso) !important;
}
.arche-person .arche-person__name {
	margin: 0;
	font-size: clamp(1.25rem, 1.1rem + .6vw, 1.55rem);
	color: var(--arche-bordeaux);
}
.arche-person--lead .arche-person__name { font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); }
.arche-person .arche-role {
	margin: .45rem 0 0;
	font-family: var(--wp--preset--font-family--archivo-narrow);
	font-weight: 600;
	font-size: 1.02rem;
	line-height: 1.35;
	color: var(--arche-ink);
}
.arche-person .arche-role::before {
	content: ""; display: block; width: 32px; height: 3px; border-radius: 3px;
	background: var(--arche-bordeaux); margin-bottom: .55rem;
}
.arche-person--lead .arche-role::before { margin-inline: auto; }

/* Contatti */
.arche-contact-cards { gap: 1rem !important; }
.arche-contact-cards p.arche-contact-value {
	margin: .6rem 0 .3rem;
	font-family: var(--wp--preset--font-family--archivo-black);
	font-size: 1.12rem;
	line-height: 1.25;
	color: var(--arche-bordeaux);
	overflow-wrap: anywhere;
}
.arche-contact-cards p.arche-contact-value a { color: inherit; }
.arche-contact-cards h3 { font-size: 1.05rem; margin: .5rem 0 .35rem; }
.arche-contact-cards p { margin: 0; font-size: .96rem; }
.arche-form-placeholder {
	border: 2px dashed rgb(124 0 3 / .3);
	border-radius: var(--arche-radius);
	padding: 1.5rem;
	background: var(--arche-surface);
}
.arche-form-placeholder label { display: block; font-weight: 600; margin: .9rem 0 .3rem; color: var(--arche-bordeaux); }
.arche-form-placeholder input, .arche-form-placeholder textarea {
	width: 100%; box-sizing: border-box; padding: .75rem .9rem; border-radius: var(--arche-radius-sm);
	border: 1px solid rgb(124 0 3 / .25); font: inherit; background: #fff;
}
.arche-form-placeholder small { display: block; margin-top: 1rem; color: var(--arche-muted); }

/* ==========================================================================
   7. Footer
   ========================================================================== */
.arche-footer-part { margin-top: 0; }
.arche-prefooter { padding-block: 0; margin-bottom: -3.5rem; position: relative; z-index: 2; }
.arche-prefooter__card {
	background: var(--wp--preset--gradient--arche-bordeaux);
	color: rgb(255 255 255 / .9);
	border-radius: 24px;
	padding: clamp(1.75rem, 4vw, 2.75rem) clamp(1.5rem, 4vw, 3.25rem);
	box-shadow: var(--arche-shadow-lg);
	gap: 1.5rem;
	position: relative; overflow: hidden;
}
.arche-prefooter__card::after {
	content: ""; position: absolute; right: -60px; bottom: -120px; width: 300px; height: 300px; border-radius: 50%;
	background: radial-gradient(closest-side, rgb(253 163 92 / .35), transparent); pointer-events: none;
}
.arche-prefooter__card h2 { margin: 0; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem); }
.arche-prefooter__card p { margin: .5rem 0 0; }
.arche-prefooter__text { max-width: 560px; }

.arche-footer { padding-top: clamp(5.5rem, 9vw, 7rem); padding-bottom: 2.5rem; font-size: .95rem; }
.arche-footer p { line-height: 1.65; }
.arche-footer a { color: var(--arche-ink); text-decoration: none; }
.arche-footer a:hover { color: var(--arche-bordeaux); text-decoration: underline; }
.arche-footer__title {
	font-size: 1rem !important; letter-spacing: .06em; text-transform: uppercase;
	font-family: var(--wp--preset--font-family--archivo-narrow) !important; font-weight: 700 !important;
	color: var(--arche-bordeaux);
	margin-bottom: 1rem;
}
.arche-footer__about { color: #333; max-width: 34ch; }
.arche-footer__links { list-style: none; padding: 0; margin: 0; }
.arche-footer__links li { margin-bottom: .45rem; }
.arche-footer__links a::before { content: "›"; margin-right: .45rem; color: var(--arche-rosso); font-weight: 700; }
.arche-footer__cols { gap: 2rem !important; }

.arche-legal { padding-block: .9rem; font-size: .88rem; font-family: var(--wp--preset--font-family--archivo-narrow); }
.arche-legal p { margin: 0; }
.arche-legal a { color: #fff; }
.arche-legal a:hover { color: var(--arche-arancio); }

/* ==========================================================================
   8. Contenuti esistenti (import dal sito attuale): piccoli ritocchi
   ========================================================================== */
.arche .arche-content > .wp-block-heading:first-child,
.arche .arche-content > h1:first-child { margin-top: 1rem; }
.arche .arche-content table { font-size: .97rem; }
.arche .arche-content img { height: auto; }
