.archivio-corsi,
.corso-singolo {
	--corsi-hero-archivio: #113590;
	--corsi-hero-single: #e8eeff;
	--corsi-azzurro: #00abf4;
	--corsi-blu-profondo: #00066e;
	--corsi-fondo: #f1f5ff;
	--corsi-ombra: 0 10px 24px #00066e1f;
}

body.post-type-archive-corsi-di-italiano,
body.tax-categoria,
body.single-corsi-di-italiano { font-family: "Plus Jakarta Sans", sans-serif; }

body.post-type-archive-corsi-di-italiano #site-header {
	background: #113590;
	color: #fff;
}

body.post-type-archive-corsi-di-italiano #site-header.is-scrolled { background: #113590; }

body.post-type-archive-corsi-di-italiano #site-header .menu-principale > li > a { color: #fff; }

.archivio-corsi__testata {
	position: relative;
	height: 518px;
	min-height: 518px;
	overflow: hidden;
	padding: 0;
	background: var(--corsi-hero-archivio);
	color: #fff;
}

.archivio-corsi__sfondo {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

.archivio-corsi__testata .contenitore {
	position: relative;
	z-index: 1;
	width: min(calc(100% - 2.5rem), 1084px);
	height: 518px;
}

.archivio-corsi__testata h1 {
	position: absolute;
	top: 205px;
	left: 0;
	max-width: 510px;
	margin: 0;
	color: #fff;
	font-size: 65px;
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: 63px;
}

.archivio-corsi__testata h1 strong { font-weight: 800; }

body.post-type-archive-corsi-di-italiano .archivio-corsi__testata h1,
body.tax-categoria .archivio-corsi__testata h1 { color: #fff; }

.archivio-corsi__testata > .contenitore > p:not(.archivio-corsi__prefisso) {
	position: absolute;
	top: 354px;
	left: 0;
	max-width: 499px;
	margin: 0;
	font-size: 18px;
	line-height: 24px;
}

.archivio-corsi__prefisso,
.hero-corso__prefisso {
	margin-bottom: .75rem;
	color: var(--corsi-azzurro);
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .06em;
	line-height: 1.3;
	text-transform: uppercase;
}

.archivio-corsi__testata .archivio-corsi__prefisso {
	position: absolute;
	top: 171px;
	left: 0;
	margin: 0;
}

.archivio-corsi__apertura {
	position: relative;
	z-index: 2;
	height: 450px;
	margin-top: -22px;
	border-radius: 20px 20px 0 0;
	background: #fff;
	box-shadow: 0 -10px 24px #00066e14;
}

.archivio-corsi__introduzione {
	display: grid;
	grid-template-columns: 460px 531px;
	width: min(calc(100% - 2.5rem), 1084px);
	height: 450px;
	gap: 93px;
	align-items: start;
	padding: 125px 0 64px;
}

.archivio-corsi__introduzione h2 {
	margin-bottom: 18px;
	color: #111;
	font-size: 30px;
	font-weight: 800;
	line-height: 35px;
}

.archivio-corsi__introduzione p {
	margin: 0;
	font-size: 16px;
	line-height: 22px;
}

.livelli-qcer > h2 {
	margin: 0 0 24px;
	color: var(--corsi-azzurro);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 18px;
	text-transform: uppercase;
}

.livelli-qcer dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 29px;
	margin: 0;
}

.livelli-qcer__item {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 12px;
	align-items: center;
}

.livelli-qcer dt {
	display: grid;
	width: 48px;
	height: 42px;
	place-items: center;
	background: #f1f5ff;
	color: var(--corsi-blu-profondo);
	font-size: 18px;
	font-weight: 800;
}

.livelli-qcer dd { margin: 0; font-size: 14px; line-height: 18px; }

.filtri-corsi {
	position: absolute;
	z-index: 3;
	bottom: 14px;
	left: max(1.25rem, calc((100% - 1084px) / 2));
	display: flex;
	width: auto;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	opacity: 0;
	clip-path: inset(50%);
	transition: opacity .15s ease;
}

.filtri-corsi:focus-within { opacity: 1; clip-path: none; }

.filtri-corsi__pulsante {
	min-height: 38px;
	padding: .45rem .85rem;
	border: 1px solid var(--corsi-blu-profondo);
	border-radius: 999px;
	background: var(--colore-bianco);
	color: var(--corsi-blu-profondo);
	cursor: pointer;
	font-weight: 700;
}

.filtri-corsi__pulsante[aria-pressed="true"] {
	background: var(--corsi-blu-profondo);
	color: var(--colore-bianco);
}

.archivio-corsi__sezioni { padding: 0; }

.archivio-corsi__sezione {
	--corsi-banda: #f1f5ff;
	--corsi-allineamento: max(1.25rem, calc((100vw - 1084px) / 2));
	position: relative;
	width: 100%;
	min-height: 702px;
	padding: 0;
	background: linear-gradient(to bottom, var(--corsi-banda) 0 410px, #fff 410px);
}

.archivio-corsi__sezione[data-course-section="di-gruppo"] { --corsi-banda: #f1f5ff; min-height: 764px; }
.archivio-corsi__sezione[data-course-section="individuali-e-combinati"] { --corsi-banda: #dff8fd; min-height: 702px; }
.archivio-corsi__sezione[data-course-section="specialisti-e-aziendali"] { --corsi-banda: #efe7ff; min-height: 746px; }
.archivio-corsi__sezione[data-course-section="altri-corsi"] { --corsi-banda: #fff0ea; min-height: 705px; }
.archivio-corsi__sezione[data-course-section="online"] { --corsi-banda: #efffdc; min-height: 742px; }

.archivio-corsi__sezione-interno.contenitore {
	position: relative;
	width: min(calc(100% - 2.5rem), 1084px);
	height: 100%;
	min-height: inherit;
}

.archivio-corsi__sezione-testata,
.testimonianze-corso__testata,
.correlati-corso__testata {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

.archivio-corsi__sezione-testata h2,
.testimonianze-corso__testata h2,
.correlati-corso__testata h2 { margin-bottom: 0; }

.archivio-corsi__sezione-testata h2 {
	position: relative;
	z-index: 4;
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	margin: 0;
	padding: 8px 44px 8px 24px;
	background: var(--corsi-hero-archivio);
	clip-path: polygon(0 0, 96% 8%, 100% 100%, 3% 92%);
	color: #fff;
	font-size: 24px;
	font-weight: 800;
	line-height: 27px;
	transform: translateY(-50%);
}

.archivio-corsi__sezione .controlli-carosello-corsi {
	position: absolute;
	z-index: 3;
	top: 602px;
	left: 0;
	display: flex;
	width: 100%;
	justify-content: space-between;
	pointer-events: none;
}

.archivio-corsi__sezione .controlli-carosello-corsi button { pointer-events: auto; }

.controlli-carosello-corsi { display: flex; gap: .5rem; }

[data-carousel-previous],
[data-carousel-next] {
	min-width: 44px;
	min-height: 44px;
	border: 1px solid var(--corsi-blu-profondo);
	border-radius: 50%;
	background: var(--colore-bianco);
	color: var(--corsi-blu-profondo);
	cursor: pointer;
}

[data-carousel-previous][aria-disabled="true"],
[data-carousel-next][aria-disabled="true"] { cursor: default; opacity: .45; }

[data-carousel-viewport] {
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-snap-type: inline mandatory;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

[data-carousel-viewport]::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

[data-carousel-viewport][data-mouse-drag="true"] { cursor: grab; }
[data-carousel-viewport].is-mouse-dragging { cursor: grabbing; user-select: none; }

[data-carousel-track] {
	display: flex;
	gap: 1.5rem;
	width: max-content;
	min-width: 100%;
}

[data-carousel-track] > * {
	flex: 0 0 min(22rem, calc(100vw - 3rem));
	scroll-snap-align: start;
}

.archivio-corsi__sezione [data-carousel-viewport],
.testimonianze-corso [data-carousel-viewport],
.correlati-corso [data-carousel-viewport] { margin-top: 1.75rem; }

.archivio-corsi__sezione [data-carousel-viewport] {
	width: 100vw;
	max-width: none;
	margin-top: 0;
	margin-left: calc(50% - 50vw);
	scroll-padding-left: var(--corsi-allineamento);
}

.archivio-corsi__sezione [data-carousel-track] {
	box-sizing: content-box;
	min-width: calc(100% - var(--corsi-allineamento));
	padding-left: var(--corsi-allineamento);
	gap: 20px;
}

.archivio-corsi__sezione [data-carousel-track] > * { flex-basis: 348px; }

[data-carousel-previous][hidden],
[data-carousel-next][hidden],
[data-carousel-dots][hidden] { display: none; }

.carosello-corsi__indicatori {
	display: flex;
	justify-content: center;
	gap: .5rem;
	padding-top: 1.25rem;
}

.archivio-corsi__sezione .carosello-corsi__indicatori {
	position: absolute;
	top: 605px;
	left: 50%;
	padding: 0;
	transform: translateX(-50%);
}

.carosello-corsi__indicatori button {
	width: 12px;
	height: 12px;
	padding: 0;
	border: 1px solid var(--corsi-blu-profondo);
	border-radius: 50%;
	background: var(--corsi-azzurro);
}

[data-carousel-dots] button[aria-current="true"] { background: var(--corsi-blu-profondo); }

.archivio-corsi__sezioni > [hidden],
.card-corso[hidden] { display: none; }

.card-corso {
	min-width: 0;
	overflow: hidden;
	border-radius: .75rem;
	background: var(--colore-bianco);
	box-shadow: var(--corsi-ombra);
}

.card-corso__immagine {
	display: block;
	aspect-ratio: 1.5;
	overflow: hidden;
	background: var(--corsi-fondo);
}

.card-corso__immagine img,
.card-corso__fallback { width: 100%; height: 100%; }
.card-corso__immagine img { object-fit: cover; }

.card-corso__fallback {
	display: block;
	background: linear-gradient(145deg, var(--corsi-fondo), #dce7ff);
}

.card-corso__corpo {
	min-height: 270px;
	padding: 2rem 2.25rem 1.75rem;
	border-top: 5px solid var(--corsi-azzurro);
}

.card-corso__corpo > :last-child { margin-bottom: 0; }
.card-corso__corpo :is(h2, h3) { margin-bottom: .75rem; font-size: 1.5rem; line-height: 1.15; }
.card-corso__corpo :is(h2, h3) a { color: var(--corsi-blu-profondo); text-decoration: none; }
.card-corso__descrizione { font-size: .875rem; line-height: 1.45; }
.card-corso__categorie { color: var(--corsi-blu-profondo); font-size: .875rem; font-weight: 700; }

.card-corso__corpo .pulsante {
	margin-top: 1rem;
	border-radius: 40px;
}

.archivio-corsi:not(.archivio-corsi--taxonomy) .card-corso {
	overflow: visible;
	border-radius: 0;
	box-shadow: none;
}

.archivio-corsi:not(.archivio-corsi--taxonomy) .card-corso__immagine {
	height: 255px;
	aspect-ratio: auto;
	background: transparent;
}

.archivio-corsi:not(.archivio-corsi--taxonomy) .card-corso__immagine img {
	object-fit: cover;
	object-position: center;
}

.archivio-corsi:not(.archivio-corsi--taxonomy) .card-corso__corpo {
	display: flex;
	height: 279px;
	min-height: 279px;
	flex-direction: column;
	padding: 26px 36px 28px;
	border-top-color: var(--corsi-hero-archivio);
}

.archivio-corsi:not(.archivio-corsi--taxonomy) .card-corso__corpo :is(h2, h3) {
	display: -webkit-box;
	min-height: 54px;
	max-height: 54px;
	margin-bottom: 8px;
	overflow: hidden;
	font-size: 24px;
	line-height: 27px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.archivio-corsi:not(.archivio-corsi--taxonomy) .card-corso__descrizione {
	display: -webkit-box;
	min-height: 40px;
	overflow: hidden;
	font-size: 14px;
	line-height: 20px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.archivio-corsi:not(.archivio-corsi--taxonomy) .card-corso__descrizione > :last-child { margin-bottom: 0; }

.card-corso__meta {
	display: grid;
	gap: 4px;
	margin: 14px 0 0;
	padding: 0;
	color: var(--corsi-blu-profondo);
	font-size: 12px;
	font-weight: 500;
	line-height: 16px;
	list-style: none;
}

.card-corso__meta-item {
	position: relative;
	padding-left: 22px;
}

.card-corso__meta-item::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 1px;
	width: 13px;
	height: 13px;
	border: 2px solid currentColor;
	border-radius: 2px;
}

.card-corso__meta-item--modalita::before { border-radius: 50%; }

.archivio-corsi:not(.archivio-corsi--taxonomy) .card-corso__corpo .pulsante {
	width: 100%;
	min-height: 38px;
	justify-content: space-between;
	margin-top: 30px;
	padding: 8px 20px;
	background: #f1f5ff;
	color: var(--corsi-hero-archivio);
	font-size: 12px;
	font-weight: 700;
}

.archivio-corsi:not(.archivio-corsi--taxonomy) .card-corso__corpo .pulsante::after {
	content: "→";
	font-size: 16px;
}

.archivio-corsi__testata--taxonomy {
	min-height: 0;
	padding-block: clamp(3rem, 6vw, 5rem);
}

.griglia-corsi {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.5vw, 2rem);
	padding-block: var(--spazio-sezione);
}

.griglia-corsi .card-corso { min-width: 0; }

body.single-corsi-di-italiano #site-header,
body.tax-categoria #site-header {
	background: #113590;
	color: #fff;
}

body.single-corsi-di-italiano #site-header .menu-principale > li > a,
body.tax-categoria #site-header .menu-principale > li > a { color: #fff; }

body.single-corsi-di-italiano #site-header button.menu-toggle,
body.single-corsi-di-italiano #site-header button.menu-toggle:hover,
body.single-corsi-di-italiano #site-header button.menu-toggle:focus,
body.single-corsi-di-italiano #site-header button.menu-toggle:focus-visible,
body.tax-categoria #site-header button.menu-toggle,
body.tax-categoria #site-header button.menu-toggle:hover,
body.tax-categoria #site-header button.menu-toggle:focus,
body.tax-categoria #site-header button.menu-toggle:focus-visible {
	border: 0;
	background-color: transparent;
	color: #fff;
}

body.single-corsi-di-italiano #site-header .menu-principale .sub-menu,
body.tax-categoria #site-header .menu-principale .sub-menu {
	background: #fff;
	color: #113590;
}

body.single-corsi-di-italiano #site-header .menu-principale .sub-menu a,
body.tax-categoria #site-header .menu-principale .sub-menu a { color: #113590; }

body.tax-categoria .archivio-corsi__testata--taxonomy { padding-block: clamp(3rem, 6vw, 5rem); }

.hero-corso {
	height: 433px;
	min-height: 433px;
	overflow: hidden;
	background: var(--corsi-hero-single);
	color: var(--corsi-blu-profondo);
}

.hero-corso__interno.contenitore {
	position: relative;
	width: min(calc(100% - 150px), 1290px);
	height: 433px;
}

.hero-corso__contenuto {
	position: absolute;
	top: 85px;
	left: 103px;
	display: flex;
	flex-direction: column;
	width: min(500px, calc(49.224806% - 130px));
	height: auto;
}

.hero-corso h1 {
	margin-bottom: 1.25rem;
	color: var(--corsi-blu-profondo);
	font-size: clamp(2.75rem, 5vw, 4.75rem);
	font-weight: 800;
	letter-spacing: -.055em;
	line-height: 1;
}

body.single-corsi-di-italiano .hero-corso h1 { color: var(--corsi-blu-profondo); }

.hero-corso__descrizione { max-width: 499px; }
.hero-corso__descrizione > :last-child { margin-bottom: 0; }

.hero-corso__media,
.hero-corso__grafica {
	position: absolute;
	top: 0;
	left: 49.224806%;
	display: block;
	width: 44.883721%;
	height: 410px;
	overflow: hidden;
	box-shadow: var(--corsi-ombra);
}

.hero-corso__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: right center;
}

.hero-corso__grafica {
	border-radius: 50% 44% 48% 42%;
	background: linear-gradient(135deg, var(--corsi-azzurro), #fff);
}

.menu-secondario-corso {
	position: sticky;
	z-index: 15;
	top: 0;
	height: 66px;
	overflow-x: auto;
	background: var(--colore-bianco);
	box-shadow: var(--corsi-ombra);
}

.menu-secondario-corso ul {
	display: flex;
	width: max-content;
	min-width: 100%;
	min-height: 66px;
	justify-content: center;
	gap: 1.5rem;
	margin: 0;
	padding: .65rem 1.25rem;
	list-style: none;
}

.menu-secondario-corso a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	color: var(--corsi-blu-profondo);
	font-weight: 700;
	text-decoration: none;
}

.corso-singolo__layout.contenitore {
	display: grid;
	grid-template-columns: minmax(0, 692px) minmax(0, 349px);
	width: min(calc(100% - 2.5rem), 1086px);
	gap: 45px;
	align-items: start;
	padding-block: 57px 120px;
}

.corso-singolo__principale {
	width: 692px;
	max-width: 100%;
	min-width: 0;
}

.corso-singolo__principale > section { min-width: 0; }

.corso-singolo__principale > section + section { margin-top: 120px; }

.corso-singolo__sidebar {
	position: sticky;
	top: 6.5rem;
	align-self: start;
}

.corso-singolo :is(#dettagli, #calendario, #prezzi, #faq, #testimonianze) { scroll-margin-top: 6rem; }

.dettagli-corso__introduzione,
.calendario-corso__introduzione,
.prezzi-corso__introduzione,
.faq-corso__introduzione { margin-bottom: 2rem; }

.griglia-dettagli-corso {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.card-dettaglio-corso {
	min-height: 139px;
	padding: 1.25rem .75rem;
	border: 2px solid #dce7ff;
	border-radius: 4px;
	background: #fff;
}

.card-dettaglio-corso__numero {
	display: block;
	margin-bottom: .75rem;
	color: var(--corsi-azzurro);
	font-size: .75rem;
	font-weight: 700;
}

.card-dettaglio-corso__titolo { margin-bottom: .75rem; color: var(--corsi-blu-profondo); font-size: 1.125rem; }
.card-dettaglio-corso__testo { font-size: .875rem; line-height: 1.4; }
.card-dettaglio-corso__testo > :last-child { margin-bottom: 0; }

.calendario-corso,
.prezzi-corso,
.faq-corso,
.testimonianze-corso { padding-top: 2rem; border-top: 1px solid #dce7ff; }

.calendario-corso__gruppi { display: grid; gap: 1rem; }

.calendario-corso__gruppo {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	gap: .75rem 1rem;
	padding: 1.5rem;
	border-radius: var(--raggio-piccolo);
	background: var(--corsi-fondo);
}

.calendario-corso__icona {
	position: relative;
	display: inline-block;
	grid-row: 1 / span 3;
	width: 2.5rem;
	height: 2.5rem;
	border: 2px solid var(--corsi-blu-profondo);
	border-radius: .5rem;
}

.calendario-corso__icona::before {
	content: "";
	position: absolute;
	inset: .65rem .35rem auto;
	border-top: 2px solid var(--corsi-blu-profondo);
}

.calendario-corso__gruppo-titolo { margin: 0; color: var(--corsi-blu-profondo); font-size: 1.125rem; }
.calendario-corso__gruppo-testo > :last-child { margin-bottom: 0; }

.calendario-corso__righe {
	display: grid;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.calendario-corso__riga { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }

.tabella-prezzi-corso__regione {
	max-width: 100%;
	overflow-x: auto;
	border-radius: 2px;
}

.tabella-prezzi-corso {
	width: 100%;
	border-collapse: collapse;
}

.tabella-prezzi-corso :is(th, td) {
	padding: 1rem;
	text-align: left;
	vertical-align: top;
}

.tabella-prezzi-corso thead { background: var(--corsi-blu-profondo); color: #fff; }
.riga-prezzo--dispari { background: #c6daf5; }
.riga-prezzo--pari { background: var(--colore-bianco); }

.prezzi-corso__quota {
	margin-top: 1.5rem;
	padding: 1.5rem;
	background: var(--corsi-fondo);
}

.prezzi-corso__quota-titolo { color: var(--corsi-blu-profondo); }
.prezzi-corso__quota-testo > :last-child { margin-bottom: 0; }

.faq-corso__elenco { display: grid; gap: .75rem; }

.faq-corso__item {
	border-radius: 2px;
	background: #fff;
	box-shadow: var(--corsi-ombra);
}

.faq-corso__item summary {
	position: relative;
	min-height: 44px;
	padding: 1rem 3rem 1rem 1rem;
	cursor: pointer;
	font-weight: 750;
}

.faq-corso__item summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 1rem;
	color: var(--corsi-blu-profondo);
	font-size: 1.5rem;
	transform: translateY(-50%);
}

.faq-corso__item[open] summary::after { content: "−"; }
.faq-corso__risposta { padding: 0 1rem 1rem; }
.faq-corso__risposta > :last-child { margin-bottom: 0; }

.testimonianze-corso [data-carousel-track] { gap: 27px; }
.testimonianze-corso [data-carousel-track] > * { flex-basis: 332.5px; }

.testimonianza-corso {
	min-height: 328px;
	margin: 0;
	padding: 2rem;
	border-radius: var(--raggio-medio);
	background: var(--corsi-fondo);
}

.testimonianza-corso blockquote { margin: 1.5rem 0 1rem; color: var(--corsi-blu-profondo); font-weight: 650; }
.testimonianza-corso figcaption { font-size: .875rem; font-weight: 700; }

.testimonianza-corso__avatar-fallback {
	display: block;
	width: 5rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--corsi-azzurro), var(--corsi-hero-single));
}

.call-to-action-corso {
	padding: 3.75rem 2.25rem;
	border-top: 5px solid var(--corsi-azzurro);
	border-radius: var(--raggio-medio);
	background: #fff;
	color: var(--corsi-blu-profondo);
	box-shadow: var(--corsi-ombra);
}

.call-to-action-corso__titolo { color: var(--corsi-blu-profondo); font-size: 1.5rem; line-height: 1.15; }
.call-to-action-corso__testo > :last-child { margin-bottom: 0; }
.call-to-action-corso__data { margin-top: 1.75rem; font-weight: 800; }
.call-to-action-corso__data-secondaria { font-size: .875rem; }
.call-to-action-corso__azioni { display: grid; gap: .75rem; margin-top: 1.75rem; }

.call-to-action-corso .pulsante--chiaro {
	border-color: #113590;
	background: #113590;
	color: #fff;
}

.call-to-action-corso .pulsante--bordo {
	border-color: #113590;
	background: #fff;
	color: #00066e;
}

.call-to-action-corso .pulsante--chiaro:hover,
.call-to-action-corso .pulsante--chiaro:focus-visible { background: #00066e; color: #fff; }

.call-to-action-corso .pulsante--bordo:hover,
.call-to-action-corso .pulsante--bordo:focus-visible { background: #f1f5ff; color: #00066e; }

.banner-partecipanti-corso {
	display: grid;
	min-height: 148px;
	place-items: center;
	padding: 2rem;
	background: var(--corsi-blu-profondo);
	color: var(--colore-bianco);
	text-align: center;
}

.banner-partecipanti-corso p { margin: 0; font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 800; }

.correlati-corso { padding-block: clamp(5rem, 8vw, 7.5rem); }

@media (max-width: 1023px) {
	.archivio-corsi__sezione { --corsi-allineamento: 1.5rem; }

	body.post-type-archive-corsi-di-italiano #site-header .menu-principale .sub-menu {
		background: #fff;
		color: #113590;
	}

	body.post-type-archive-corsi-di-italiano #site-header .menu-principale .sub-menu a { color: #113590; }

	body.post-type-archive-corsi-di-italiano #site-header button.menu-toggle,
	body.post-type-archive-corsi-di-italiano #site-header button.menu-toggle:hover,
	body.post-type-archive-corsi-di-italiano #site-header button.menu-toggle:focus,
	body.post-type-archive-corsi-di-italiano #site-header button.menu-toggle:focus-visible {
		border: 0;
		background-color: transparent;
		color: #fff;
	}

	.archivio-corsi__testata .contenitore,
	.archivio-corsi__introduzione,
	.archivio-corsi__sezione-interno.contenitore { width: min(calc(100% - 3rem), 1084px); }

	.archivio-corsi__testata h1 { max-width: 46vw; font-size: clamp(48px, 6.5vw, 65px); }
	.archivio-corsi__apertura { height: auto; min-height: 480px; }
	.archivio-corsi__introduzione {
		grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
		height: auto;
		min-height: 480px;
		gap: 3rem;
		padding-block: 110px 70px;
	}

	.archivio-corsi__sezione { min-height: 672px; }
	.archivio-corsi__sezione [data-carousel-track] > * { flex-basis: min(348px, calc(50vw - 2.5rem)); }
	.archivio-corsi__sezione .controlli-carosello-corsi { top: 592px; }
	.archivio-corsi__sezione .carosello-corsi__indicatori { top: 595px; }
	.griglia-corsi { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	body.single-corsi-di-italiano #site-header .menu-principale .sub-menu,
	body.tax-categoria #site-header .menu-principale .sub-menu {
		background: #fff;
		color: #113590;
	}

	.hero-corso { height: auto; min-height: 0; }

	.hero-corso__interno.contenitore {
		display: grid;
		width: min(100% - 2.5rem, var(--larghezza-contenuto));
		height: auto;
		padding-block: 3rem;
		gap: 2rem;
	}

	.hero-corso__contenuto {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		height: auto;
	}

	.hero-corso__media,
	.hero-corso__grafica {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		height: clamp(260px, 48vw, 410px);
	}

	.corso-singolo__layout.contenitore {
		grid-template-columns: 1fr;
		width: min(100% - 2.5rem, var(--larghezza-contenuto));
		gap: 3rem;
		padding-block: 4rem 6rem;
	}

	.corso-singolo__principale { width: 100%; }
	.corso-singolo__sidebar { position: static; }
	.griglia-dettagli-corso { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.archivio-corsi__sezione { --corsi-allineamento: 1rem; }

	.archivio-corsi__testata { height: 640px; min-height: 640px; }
	.archivio-corsi__testata .contenitore { width: min(calc(100% - 2rem), 1084px); height: 640px; }
	.archivio-corsi__testata .archivio-corsi__prefisso { top: 126px; }
	.archivio-corsi__testata h1 {
		top: 160px;
		max-width: 100%;
		font-size: clamp(42px, 12vw, 58px);
		line-height: .98;
	}
	.archivio-corsi__testata > .contenitore > p:not(.archivio-corsi__prefisso) { top: 285px; }
	.archivio-corsi__sfondo {
		top: 350px;
		bottom: auto;
		width: 100%;
		height: 290px;
		object-position: right center;
		clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%);
	}

	.archivio-corsi__apertura { min-height: 720px; margin-top: 0; border-radius: 0; }
	.archivio-corsi__introduzione,
	.griglia-corsi,
	.griglia-dettagli-corso { grid-template-columns: 1fr; }
	.archivio-corsi__introduzione {
		width: min(calc(100% - 2rem), 1084px);
		min-height: 720px;
		gap: 3rem;
		padding-block: 64px 72px;
	}
	.livelli-qcer dl { grid-template-columns: repeat(2, minmax(0, 1fr)); gap-inline: 16px; }
	.livelli-qcer__item { grid-template-columns: 42px 1fr; gap: 8px; }
	.livelli-qcer dt { width: 42px; }

	.archivio-corsi__sezione {
		min-height: 672px;
		background: linear-gradient(to bottom, var(--corsi-banda) 0 350px, #fff 350px);
	}
	.archivio-corsi__sezione-interno.contenitore { width: min(calc(100% - 2rem), 1084px); }
	.archivio-corsi__sezione-testata h2 { min-height: 46px; padding-inline: 18px 34px; font-size: 21px; line-height: 25px; }
	.archivio-corsi__sezione [data-carousel-track] > * { flex-basis: calc(100vw - 3rem); }
	.archivio-corsi__sezione .controlli-carosello-corsi { top: 592px; }
	.archivio-corsi__sezione .carosello-corsi__indicatori { top: 597px; }
	.archivio-corsi__sezione-testata,
	.testimonianze-corso__testata,
	.correlati-corso__testata { align-items: flex-start; }

	.card-corso__corpo { padding-inline: 1.5rem; }

	.hero-corso__interno.contenitore { padding-block: 2.5rem; }
	.hero-corso__media,
	.hero-corso__grafica { height: min(72vw, 320px); }

	.menu-secondario-corso ul { justify-content: flex-start; }

	.corso-singolo__layout.contenitore {
		width: min(100% - 2rem, var(--larghezza-contenuto));
		padding-block: 3rem 4rem;
	}

	.corso-singolo__principale > section + section { margin-top: 5rem; }
	.calendario-corso__gruppo { grid-template-columns: 1fr; }
	.calendario-corso__icona { grid-row: auto; }
	.tabella-prezzi-corso { min-width: 42rem; }
	.testimonianze-corso [data-carousel-track] > * { flex-basis: min(22rem, calc(100vw - 3rem)); }

	.corso-singolo__sidebar {
		position: sticky;
		z-index: 10;
		bottom: .5rem;
	}

	.call-to-action-corso { max-height: min(62vh, 32rem); overflow-y: auto; padding: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	[data-carousel-viewport] { scroll-behavior: auto; }
	.card-corso__immagine img,
	.pulsante { transition: none; }
}

body.single-corsi-di-italiano .hero-corso {
	height: 433px;
	min-height: 433px;
}

body.single-corsi-di-italiano .hero-corso__interno.contenitore {
	width: min(calc(100% - 150px), 1290px);
	height: 433px;
	padding: 0;
}

body.single-corsi-di-italiano .hero-corso__contenuto {
	top: 85px;
	left: 103px;
	width: 499px;
}

body.single-corsi-di-italiano .hero-corso__prefisso {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 16px;
}

body.single-corsi-di-italiano .hero-corso__tipo {
	margin: 0;
	color: var(--corsi-blu-profondo);
	font-size: 44px;
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: 50px;
}

body.single-corsi-di-italiano .hero-corso h1 {
	margin: 0 0 18px;
	color: var(--corsi-blu-profondo);
	font-size: 48px;
	font-weight: 800;
	letter-spacing: -.05em;
	line-height: 52px;
}

body.single-corsi-di-italiano .hero-corso__descrizione {
	max-width: 499px;
	font-size: 16px;
	line-height: 22px;
}

body.single-corsi-di-italiano .hero-corso__descrizione p { margin: 0; }

body.single-corsi-di-italiano .hero-corso__media,
body.single-corsi-di-italiano .hero-corso__grafica {
	top: 0;
	left: 49.224806%;
	width: 44.883721%;
	height: 410px;
	box-shadow: none;
}

body.single-corsi-di-italiano .hero-corso__media img {
	object-position: right center;
}

body.single-corsi-di-italiano .menu-secondario-corso {
	top: 112px;
	height: 66px;
	margin-top: -23px;
	border-radius: 16px 16px 0 0;
	background: var(--colore-fondo-secondario);
	box-shadow: 0 -26px 60px rgba(0, 6, 110, .06);
}

body.single-corsi-di-italiano .menu-secondario-corso ul {
	width: min(calc(100% - 2.5rem), 1084px);
	min-width: 0;
	min-height: 66px;
	justify-content: flex-start;
	gap: 24px;
	margin-inline: auto;
	padding: 0;
}

body.single-corsi-di-italiano .menu-secondario-corso a {
	min-height: 66px;
	padding-inline: 20px;
	border-bottom: 0 solid transparent;
	font-size: 16px;
	font-weight: 600;
	line-height: 20px;
}

body.single-corsi-di-italiano .menu-secondario-corso a[aria-current="location"] {
	border-bottom-width: 3px;
	border-bottom-color: var(--colore-blu);
	font-weight: 800;
}

body.single-corsi-di-italiano .corso-singolo__layout.contenitore {
	display: grid;
	grid-template-columns: 692px 348px;
	width: 1085px;
	max-width: calc(100% - 2.5rem);
	gap: 45px;
	margin-top: 80px;
	padding: 0 0 120px;
}

body.single-corsi-di-italiano .corso-singolo__principale {
	width: 692px;
	max-width: 100%;
}

body.single-corsi-di-italiano .corso-singolo__sidebar {
	/* Header + half the course menu + the existing upward translation. */
	top: calc(112px + 33px + 103px);
	z-index: 16;
	width: 348px;
	transform: translateY(-103px);
}

body.single-corsi-di-italiano .corso-singolo__principale > section + section {
	margin-top: 48px;
}

body.single-corsi-di-italiano .etichetta-sezione-corso {
	margin: 0 0 15px;
	color: var(--corsi-azzurro);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 16px;
	text-transform: uppercase;
}

body.single-corsi-di-italiano .corso-singolo__principale h2 {
	margin: 0 0 18px;
	color: #171717;
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 35px;
}

body.single-corsi-di-italiano :is(.dettagli-corso__introduzione, .calendario-corso__introduzione, .prezzi-corso__introduzione, .faq-corso__introduzione) {
	margin-bottom: 34px;
	font-size: 16px;
	line-height: 22px;
}

body.single-corsi-di-italiano :is(.dettagli-corso__introduzione, .calendario-corso__introduzione, .prezzi-corso__introduzione, .faq-corso__introduzione) > :last-child { margin-bottom: 0; }

body.single-corsi-di-italiano .dettagli-corso { min-height: 0; }

body.single-corsi-di-italiano .griglia-dettagli-corso {
	grid-template-columns: repeat(3, 220px);
	gap: 16px;
}

body.single-corsi-di-italiano .card-dettaglio-corso {
	display: flex;
	width: 220px;
	height: auto;
	min-height: 139px;
	flex-direction: column;
	justify-content: flex-start;
	padding: 17px 20px 14px;
	border: 0;
	border-top: 3px solid var(--corsi-blu-profondo);
	border-radius: 0;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 6, 110, .08);
}

body.single-corsi-di-italiano .card-dettaglio-corso__icona {
	display: block;
	width: 24px;
	height: 24px;
	margin-bottom: 11px;
}

body.single-corsi-di-italiano .card-dettaglio-corso__icona img { display: block; width: 24px; height: 24px; }

body.single-corsi-di-italiano .card-dettaglio-corso__titolo {
	margin: 0 0 5px;
	color: #171717;
	font-size: 14px;
	font-weight: 800;
	line-height: 18px;
}

body.single-corsi-di-italiano .card-dettaglio-corso__testo {
	display: block;
	overflow-wrap: anywhere;
	font-size: 12px;
	line-height: 16px;
}

body.single-corsi-di-italiano :is(.calendario-corso, .prezzi-corso, .faq-corso, .testimonianze-corso) {
	padding-top: 48px;
	border-top: 1px solid #dce7ff;
}

body.single-corsi-di-italiano .calendario-corso__gruppi { gap: 26px; }

body.single-corsi-di-italiano .calendario-corso__gruppo {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr);
	gap: 4px 14px;
	padding: 0;
	border-radius: 0;
	background: transparent;
}

body.single-corsi-di-italiano .calendario-corso__icona {
	grid-row: 1 / span 3;
	width: 24px;
	height: 24px;
	border: 0;
	border-radius: 0;
}

body.single-corsi-di-italiano .calendario-corso__icona::before { display: none; }
body.single-corsi-di-italiano .calendario-corso__icona img { display: block; width: 24px; height: 24px; }

body.single-corsi-di-italiano .calendario-corso__gruppo-titolo {
	margin: 0;
	color: #171717;
	font-size: 16px;
	font-weight: 800;
	line-height: 22px;
}

body.single-corsi-di-italiano .calendario-corso__gruppo-testo,
body.single-corsi-di-italiano .calendario-corso__righe {
	font-size: 14px;
	line-height: 20px;
}

body.single-corsi-di-italiano .calendario-corso__gruppo-testo > :last-child { margin-bottom: 0; }

body.single-corsi-di-italiano .calendario-corso__righe {
	grid-column: 2;
	gap: 2px;
}

body.single-corsi-di-italiano .calendario-corso__riga { gap: 4px 12px; }

body.single-corsi-di-italiano .tabella-prezzi-corso__regione {
	width: 692px;
	border-radius: 0;
}

body.single-corsi-di-italiano .tabella-prezzi-corso { width: 692px; table-layout: fixed; }

body.single-corsi-di-italiano .tabella-prezzi-corso :is(th, td) {
	height: 32px;
	padding: 7px 16px;
	font-size: 12px;
	line-height: 18px;
	vertical-align: middle;
}

body.single-corsi-di-italiano .tabella-prezzi-corso thead th {
	height: 36px;
	padding-block: 8px;
	font-weight: 700;
}

body.single-corsi-di-italiano .tabella-prezzi-corso__icona {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 8px;
	filter: brightness(0) invert(1);
	vertical-align: middle;
}

body.single-corsi-di-italiano .prezzi-corso__quota {
	margin-top: 24px;
	padding: 20px 24px;
	background: #f1f5ff;
}

body.single-corsi-di-italiano .prezzi-corso__quota-titolo { margin: 0 0 8px; font-size: 16px; line-height: 22px; }
body.single-corsi-di-italiano .prezzi-corso__quota-testo { font-size: 14px; line-height: 20px; }

body.single-corsi-di-italiano .faq-corso__elenco { gap: 0; }

body.single-corsi-di-italiano .faq-corso__item {
	min-height: 76px;
	border-bottom: 1px solid #dce7ff;
	border-radius: 0;
	box-shadow: none;
}

body.single-corsi-di-italiano .faq-corso__item summary {
	display: flex;
	min-height: 76px;
	align-items: center;
	padding: 16px 52px 16px 0;
	font-size: 16px;
	line-height: 22px;
}

body.single-corsi-di-italiano .faq-corso__item summary::after { right: 16px; }
body.single-corsi-di-italiano .faq-corso__risposta { padding: 0 52px 20px 0; }

body.single-corsi-di-italiano .testimonianze-corso__testata {
	align-items: flex-end;
}

body.single-corsi-di-italiano .testimonianze-corso [data-carousel-viewport] {
	margin-top: 24px;
	padding: 18px 0 20px;
}

body.single-corsi-di-italiano .testimonianze-corso [data-carousel-track] { gap: 27px; }
body.single-corsi-di-italiano .testimonianze-corso [data-carousel-track] > * { flex-basis: 332.5px; }

body.single-corsi-di-italiano .testimonianza-corso {
	position: relative;
	width: 332.5px;
	height: auto;
	min-height: 328px;
	padding: 38px 34px 30px;
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: 0 10px 28px rgba(0, 6, 110, .12);
}

body.single-corsi-di-italiano .testimonianza-corso::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: -14px 18px 18px -14px;
	background: #eee8ff;
	clip-path: polygon(2% 4%, 96% 0, 100% 94%, 0 100%);
}

body.single-corsi-di-italiano .testimonianza-corso:nth-child(even)::before { background: #e5f8fb; }

body.single-corsi-di-italiano .testimonianza-corso blockquote {
	margin: 22px 0 16px;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
}

body.single-corsi-di-italiano .testimonianza-corso figcaption { font-size: 12px; line-height: 16px; }

body.single-corsi-di-italiano .testimonianza-corso__avatar-fallback,
body.single-corsi-di-italiano .testimonianza-corso > img {
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
}

body.single-corsi-di-italiano .call-to-action-corso {
	display: flex;
	width: 348px;
	height: 624px;
	flex-direction: column;
	padding: 57px 36px 30px;
	border-top: 4px solid var(--corsi-blu-profondo);
	border-radius: 0;
	box-shadow: 0 12px 30px rgba(0, 6, 110, .12);
}

body.single-corsi-di-italiano .call-to-action-corso__titolo {
	margin: 0 0 20px;
	font-size: 24px;
	font-weight: 800;
	line-height: 28px;
}

body.single-corsi-di-italiano .call-to-action-corso__testo { font-size: 14px; line-height: 20px; }

body.single-corsi-di-italiano .call-to-action-corso__date-box {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 4px 12px;
	margin-top: 26px;
	padding: 18px 20px;
	background: #f1f5ff;
}

body.single-corsi-di-italiano .call-to-action-corso__date-box > img { grid-row: 1 / span 2; }
body.single-corsi-di-italiano .call-to-action-corso__data { margin: 0; font-size: 14px; font-weight: 800; line-height: 20px; }
body.single-corsi-di-italiano .call-to-action-corso__data-secondaria { margin: 0; font-size: 12px; line-height: 16px; }

body.single-corsi-di-italiano .call-to-action-corso__azioni {
	display: grid;
	gap: 12px;
	margin-top: 24px;
}

body.single-corsi-di-italiano .call-to-action-corso__azioni .pulsante {
	width: 100%;
	min-height: 46px;
	justify-content: center;
	border-radius: 28px;
	font-size: 14px;
}

body.single-corsi-di-italiano .call-to-action-corso__condividi {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 9px;
	margin: auto 0 0;
	padding: 10px 12px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: inherit;
	cursor: pointer;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 20px;
}

body.single-corsi-di-italiano .call-to-action-corso__condividi img { width: 20px; height: 20px; }

body.single-corsi-di-italiano .call-to-action-corso__condividi:hover [data-course-share-label] { text-decoration: underline; }

body.single-corsi-di-italiano .call-to-action-corso__condividi:focus-visible {
	outline: 3px solid var(--corsi-blu-profondo);
	outline-offset: 2px;
}

body.single-corsi-di-italiano .call-to-action-corso__condividi:disabled {
	cursor: wait;
	opacity: .65;
}

body.single-corsi-di-italiano .banner-partecipanti-corso {
	display: flex;
	height: 179px;
	min-height: 179px;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 0 2rem;
}

body.single-corsi-di-italiano .banner-partecipanti-corso img {
	width: 36px;
	height: 36px;
	filter: brightness(0) invert(1);
}

body.single-corsi-di-italiano .banner-partecipanti-corso p {
	font-size: 28px;
	line-height: 35px;
}

body.single-corsi-di-italiano .correlati-corso {
	--corsi-correlati-allineamento: max(1.25rem, calc((100vw - 1084px) / 2));
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto auto auto;
	width: 1084px;
	max-width: calc(100% - 2.5rem);
	min-height: 900px;
	padding: 118px 0 120px;
	background: #fff;
	box-shadow: 0 0 0 100vmax #fff;
	clip-path: inset(0 -100vmax);
}

body.single-corsi-di-italiano .correlati-corso__testata { display: contents; }

body.single-corsi-di-italiano .correlati-corso__testata h2 {
	grid-column: 1;
	grid-row: 1;
	font-size: 30px;
	font-weight: 800;
	line-height: 35px;
}

body.single-corsi-di-italiano .correlati-corso .controlli-carosello-corsi {
	grid-column: 1;
	grid-row: 3;
	display: flex;
	width: 100%;
	align-self: start;
	justify-content: space-between;
	margin-top: 18px;
	pointer-events: none;
}

body.single-corsi-di-italiano .correlati-corso .controlli-carosello-corsi button { pointer-events: auto; }

body.single-corsi-di-italiano .correlati-corso [data-carousel-viewport] {
	grid-column: 1;
	grid-row: 2;
	width: 100vw;
	max-width: none;
	margin-top: 44px;
	margin-left: calc(50% - 50vw);
	scroll-padding-left: var(--corsi-correlati-allineamento);
}

body.single-corsi-di-italiano .correlati-corso [data-carousel-track] {
	box-sizing: content-box;
	min-width: calc(100% - var(--corsi-correlati-allineamento));
	padding-left: var(--corsi-correlati-allineamento);
	gap: 20px;
}
body.single-corsi-di-italiano .correlati-corso [data-carousel-track] > * { flex-basis: 348px; }


body.single-corsi-di-italiano .correlati-corso .carosello-corsi__indicatori {
	grid-column: 1;
	grid-row: 3;
	width: max-content;
	align-self: start;
	justify-self: center;
	margin-top: 21px;
	padding: 0;
}

@media (max-width: 1023px) {
	body.single-corsi-di-italiano .hero-corso { height: auto; min-height: 0; }
	body.single-corsi-di-italiano .hero-corso__interno.contenitore {
		display: grid;
		width: min(calc(100% - 3rem), 690px);
		height: auto;
		padding: 56px 0 48px;
		gap: 32px;
	}
	body.single-corsi-di-italiano .hero-corso__contenuto {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
	}
	body.single-corsi-di-italiano .hero-corso__media,
	body.single-corsi-di-italiano .hero-corso__grafica {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		height: min(52vw, 410px);
	}
	body.single-corsi-di-italiano .menu-secondario-corso { top: 88px; margin-top: 0; border-radius: 0; }
	body.single-corsi-di-italiano .menu-secondario-corso ul { width: max-content; min-width: 100%; padding-inline: 24px; }
	body.single-corsi-di-italiano .corso-singolo__layout.contenitore {
		grid-template-columns: minmax(0, 1fr);
		width: min(calc(100% - 3rem), 690px);
		max-width: none;
		gap: 72px;
		margin-top: 72px;
		padding-bottom: 96px;
	}
	body.single-corsi-di-italiano .corso-singolo__principale,
	body.single-corsi-di-italiano .corso-singolo__sidebar { width: 100%; }
	body.single-corsi-di-italiano .corso-singolo__sidebar { position: static; z-index: auto; transform: none; }
	body.single-corsi-di-italiano .griglia-dettagli-corso { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.single-corsi-di-italiano .card-dettaglio-corso { width: 100%; }
	body.single-corsi-di-italiano .call-to-action-corso { width: 100%; max-width: 348px; height: 624px; margin-inline: auto; }
	body.single-corsi-di-italiano .correlati-corso {
		--corsi-correlati-allineamento: max(1.5rem, calc((100vw - 690px) / 2));
		width: min(calc(100% - 3rem), 690px);
		max-width: none;
	}
}

@media (max-width: 767px) {
	body.single-corsi-di-italiano .hero-corso__interno.contenitore {
		width: calc(100% - 2rem);
		padding: 42px 0 36px;
	}
	body.single-corsi-di-italiano .hero-corso__tipo { font-size: 34px; line-height: 40px; }
	body.single-corsi-di-italiano .hero-corso h1 { font-size: 38px; line-height: 42px; }
	body.single-corsi-di-italiano .hero-corso__media,
	body.single-corsi-di-italiano .hero-corso__grafica { height: min(72vw, 320px); }
	body.single-corsi-di-italiano .menu-secondario-corso { top: 88px; }
	body.single-corsi-di-italiano .corso-singolo__layout.contenitore {
		width: calc(100% - 2rem);
		gap: 56px;
		margin-top: 56px;
		padding-bottom: 72px;
	}
	body.single-corsi-di-italiano .corso-singolo__principale > section + section { margin-top: 32px; }
	body.single-corsi-di-italiano :is(.calendario-corso, .prezzi-corso, .faq-corso, .testimonianze-corso) { padding-top: 32px; }
	body.single-corsi-di-italiano .griglia-dettagli-corso { grid-template-columns: 1fr; }
	body.single-corsi-di-italiano .dettagli-corso { min-height: 0; }
	body.single-corsi-di-italiano .calendario-corso__gruppo { grid-template-columns: 32px minmax(0, 1fr); }
	body.single-corsi-di-italiano .calendario-corso__icona { grid-row: 1 / span 3; }
	body.single-corsi-di-italiano .tabella-prezzi-corso__regione { width: 100%; }
	body.single-corsi-di-italiano .tabella-prezzi-corso { width: 692px; min-width: 692px; }
	body.single-corsi-di-italiano .testimonianze-corso [data-carousel-track] > * { flex-basis: min(332.5px, calc(100vw - 3rem)); }
	body.single-corsi-di-italiano .testimonianza-corso { width: min(332.5px, calc(100vw - 3rem)); }
	body.single-corsi-di-italiano .call-to-action-corso { max-height: none; overflow: visible; padding-inline: 28px; }
	body.single-corsi-di-italiano .banner-partecipanti-corso { height: 160px; min-height: 160px; }
	body.single-corsi-di-italiano .banner-partecipanti-corso p { font-size: 22px; line-height: 28px; }
	body.single-corsi-di-italiano .correlati-corso {
		--corsi-correlati-allineamento: 1rem;
		width: calc(100% - 2rem);
		min-height: 760px;
		padding-block: 80px;
	}
	body.single-corsi-di-italiano .correlati-corso [data-carousel-track] > * { flex-basis: calc(100vw - 3rem); }
	body.single-corsi-di-italiano .correlati-corso .card-corso { width: calc(100vw - 3rem); }
}
