/*
 * Smart Evolution: stili del sito.
 *
 * Misure, colori e caratteri vengono dal kit di Elementor del sito di prima
 * (documento 14) e dalle misure prese sulle pagine pubblicate
 * (riferimento/spec). Soglie: telefono fino a 767 px, tablet fino a 1024.
 */

/* Caratteri */

@font-face {
	font-family: "Days";
	src: url("../fonts/days-latin.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Days";
	src: url("../fonts/days-latin-ext.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: "Akshar";
	src: url("../fonts/akshar-latin.woff2") format("woff2");
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Akshar";
	src: url("../fonts/akshar-latin-ext.woff2") format("woff2");
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Valori del sito */

:root {
	--sev-primary: #0d4da1;
	--sev-primary-dark: #0a3d80;
	--sev-sky: #7bbbdc;
	--sev-ink: #221f1f;
	--sev-text: #4b4b4b;
	--sev-text-light: #d8d6d4;
	--sev-white: #fff;
	--sev-mint: #ecfde9;
	--sev-border: rgba(173, 173, 173, .55);
	--sev-navy: #052b4e;
	--sev-ocean: #2e8fc4;
	--sev-ice: #f1f9fd;
	--sev-mist: #e2eff7;
	--sev-foam: #e6f3fb;
	--sev-glow: #8deaff;
	--sev-field: #f9f9f9;

	--sev-font-title: "Days", sans-serif;
	--sev-font-text: "Akshar", sans-serif;

	--sev-container: 1250px;
	--sev-gutter: 20px;
	--sev-radius: 10px;
	--sev-radius-card: 15px;
	--sev-radius-kit: 20px;
	--sev-shadow: 0 18px 40px rgba(6, 55, 95, .16);
	--sev-ease: cubic-bezier(.22, 1, .36, 1);

	--sev-form-field-font: var(--sev-font-text);
	--sev-form-button-font: var(--sev-font-text);
	--sev-form-button-size: 16px;
	--sev-form-button-weight: 600;
	--sev-form-button-transform: none;
}

/* Base */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
	margin: 0;
	font-family: var(--sev-font-text);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--sev-text);
	background: var(--sev-white);
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

img,
svg,
video {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--sev-primary);
	text-decoration: none;
	transition: color .2s ease;
}

a:hover {
	color: var(--sev-primary-dark);
}

p {
	margin: 0 0 14.4px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	color: var(--sev-ink);
}

h1,
.sev-h1 {
	font-family: var(--sev-font-title);
	font-size: 48px;
	font-weight: 700;
	line-height: 1.2;
}

h2,
.sev-h2 {
	font-family: var(--sev-font-title);
	font-size: 36px;
	font-weight: 600;
	line-height: 1.2;
}

h3,
.sev-h3 {
	font-family: var(--sev-font-text);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4;
}

h4 {
	font-family: var(--sev-font-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
}

@media (max-width: 767px) {
	h1,
	.sev-h1 {
		font-size: 32px;
	}

	h2,
	.sev-h2 {
		font-size: 30px;
	}
}

:focus-visible {
	outline: 2px solid var(--sev-primary);
	outline-offset: 3px;
}

/* Sulle sezioni scure l'anello del focus diventa bianco. */
.sev-footer :focus-visible,
.sev-strip :focus-visible,
.sev-hero-home__card :focus-visible,
.sev-cta__card :focus-visible,
.sev-ev-banner__card :focus-visible,
.sev-ev-hero :focus-visible,
.sev-ev-related--dark :focus-visible,
.sev-ev-404 :focus-visible,
.sev-prodotti-hero__card :focus-visible,
.sev-prodotti-grid :focus-visible,
.sev-prodotti-banner :focus-visible,
.sev-kit-hero :focus-visible,
.sev-kit-cta :focus-visible,
.sev-kit-home__hero :focus-visible {
	outline-color: var(--sev-white);
}

.sev-sr,
.sev-skip:not(:focus) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.sev-skip:focus {
	position: fixed;
	z-index: 1000;
	top: 10px;
	left: 10px;
	padding: 10px 16px;
	color: var(--sev-white);
	background: var(--sev-primary);
	border-radius: var(--sev-radius);
}

.sev-icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	flex: none;
}

.sev-container {
	width: 100%;
	max-width: calc(var(--sev-container) + 2 * var(--sev-gutter));
	margin: 0 auto;
	padding: 0 var(--sev-gutter);
}

/* Pulsanti */

.sev-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 25px;
	font-family: var(--sev-font-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	color: var(--sev-white);
	text-align: center;
	background: var(--sev-primary);
	border: 0;
	border-radius: var(--sev-radius);
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease, transform .25s var(--sev-ease), box-shadow .25s ease;
}

.sev-btn:hover,
.sev-btn:focus-visible {
	color: var(--sev-white);
	background: var(--sev-primary-dark);
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(13, 77, 161, .25);
}

.sev-btn__icon {
	width: 16px;
	height: 16px;
	transition: transform .25s var(--sev-ease);
}

.sev-btn:hover .sev-btn__icon {
	transform: translateX(3px);
}

.sev-btn--light {
	color: var(--sev-primary);
	background: var(--sev-white);
}

.sev-btn--light:hover,
.sev-btn--light:focus-visible {
	color: var(--sev-primary);
	background: var(--sev-ice);
}

/* Testata */

.sev-header {
	position: relative;
	z-index: 50;
	background: var(--sev-white);
}

.sev-header__inner {
	display: flex;
	align-items: center;
	gap: 0;
	max-width: calc(var(--sev-container) + 2 * var(--sev-gutter));
	min-height: 81px;
	margin: 0 auto;
	padding: 10px var(--sev-gutter);
}

.sev-header__logo {
	flex: 0 0 223px;
	display: block;
}

.sev-header__logo-img {
	width: 223px;
	height: auto;
}

.sev-nav {
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
}

.sev-nav__list {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sev-nav__item {
	position: relative;
	display: flex;
	align-items: center;
}

.sev-nav__link {
	display: block;
	padding: 13px 20px;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	color: var(--sev-primary);
}

.sev-nav__item--parent > .sev-nav__link {
	padding-right: 4px;
}

.sev-nav__link:hover,
.sev-nav__item.is-current > .sev-nav__link {
	color: var(--sev-sky);
}

.sev-nav__toggle {
	display: inline-flex;
	align-items: center;
	padding: 4px 16px 4px 0;
	color: var(--sev-primary);
	background: none;
	border: 0;
	cursor: pointer;
}

.sev-nav__toggle .sev-icon {
	width: 10px;
	height: 16px;
	transition: transform .2s ease;
}

.sev-nav__toggle[aria-expanded="true"] .sev-icon {
	transform: rotate(180deg);
}

.sev-nav__sub {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: var(--sev-white);
	border-radius: var(--sev-radius);
	box-shadow: var(--sev-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s var(--sev-ease), visibility .2s;
}

.sev-nav__item--parent:hover > .sev-nav__sub,
.sev-nav__item--parent:focus-within > .sev-nav__sub,
.sev-nav__item--parent.is-open > .sev-nav__sub {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.sev-nav__sublink {
	display: block;
	padding: 10px 20px;
	font-weight: 600;
	color: var(--sev-primary);
}

.sev-nav__sublink:hover,
.sev-nav__item--sub.is-current > .sev-nav__sublink {
	color: var(--sev-sky);
	background: var(--sev-ice);
}

.sev-header__actions {
	flex: 0 0 223px;
	display: flex;
	justify-content: flex-end;
}

.sev-header__cta {
	padding: 13px 25px;
}

.sev-header__burger {
	display: none;
	align-items: center;
	justify-content: center;
	width: 33px;
	height: 33px;
	margin-left: auto;
	padding: 5px;
	color: var(--sev-primary);
	background: none;
	border: 0;
	border-radius: 3px;
	cursor: pointer;
}

.sev-header__burger .sev-icon {
	width: 22px;
	height: 22px;
}

.sev-header__burger-close,
.sev-header__burger[aria-expanded="true"] .sev-header__burger-open {
	display: none;
}

.sev-header__burger[aria-expanded="true"] .sev-header__burger-close {
	display: block;
}

.sev-mobile-menu {
	display: none;
}

@media (max-width: 1024px) {
	.sev-header__inner {
		min-height: 88px;
		padding: 20px;
	}

	.sev-header__logo {
		flex-basis: 175px;
	}

	.sev-header__logo-img {
		width: 175px;
	}

	.sev-header .sev-nav,
	.sev-header__actions {
		display: none;
	}

	.sev-header__burger {
		display: inline-flex;
	}

	.sev-mobile-menu {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		display: block;
		padding: 10px 20px 24px;
		background: var(--sev-white);
		box-shadow: 0 18px 30px rgba(34, 31, 31, .12);
	}

	.sev-mobile-menu[hidden] {
		display: none;
	}

	.sev-header--evento .sev-nav {
		display: flex;
		justify-content: flex-end;
	}

	.sev-header--evento .sev-nav__list--anchors {
		flex-direction: column;
		align-items: flex-end;
		gap: 0;
	}

	.sev-header--evento .sev-nav__list--anchors .sev-nav__link {
		padding: 3px 0;
		font-size: 12px;
		font-weight: 600;
		line-height: 18px;
		color: var(--sev-primary);
		text-align: right;
	}

	.sev-mobile-menu .sev-nav {
		display: block;
	}

	.sev-nav--mobile .sev-nav__list {
		display: block;
	}

	.sev-nav--mobile .sev-nav__item {
		flex-wrap: wrap;
		border-bottom: 1px solid var(--sev-mist);
	}

	.sev-nav--mobile .sev-nav__link {
		flex: 1;
		padding: 14px 0;
	}

	.sev-nav--mobile .sev-nav__toggle {
		padding: 14px 4px;
	}

	.sev-nav--mobile .sev-nav__sub {
		position: static;
		display: none;
		width: 100%;
		padding: 0 0 10px 14px;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.sev-nav--mobile .sev-nav__item--parent.is-open > .sev-nav__sub {
		display: block;
	}

	.sev-nav--mobile .sev-nav__sublink {
		padding: 8px 0;
	}

	.sev-mobile-menu__cta {
		margin-top: 18px;
	}

	.sev-mobile-menu__cta .sev-btn {
		width: 100%;
	}
}

/* Piè di pagina */

.sev-footer {
	position: relative;
	color: var(--sev-text-light);
	background: var(--sev-ink);
}

.sev-footer::before {
	content: "";
	position: absolute;
	inset: 0 0 58px;
	background: var(--sev-footer-bg, none) center / cover no-repeat;
	opacity: .18;
	pointer-events: none;
}

.sev-footer__inner {
	position: relative;
	display: flex;
	gap: 0;
	max-width: calc(var(--sev-container) + 2 * var(--sev-gutter));
	margin: 0 auto;
	padding: 100px var(--sev-gutter);
}

.sev-footer__brand {
	flex: 0 0 375px;
	padding-right: 50px;
}

.sev-footer__logo {
	width: 325px;
	height: auto;
	margin-bottom: 20px;
}

.sev-footer__brand p {
	margin: 0 0 14.4px;
}

.sev-footer__cols {
	flex: 1 1 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.sev-footer__title {
	margin-bottom: 20px;
	font-family: var(--sev-font-text);
	font-size: 20px;
	font-weight: 600;
	line-height: 28px;
	color: var(--sev-white);
}

.sev-footer__list {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sev-footer__list li,
.sev-footer__list a,
.sev-footer__consent {
	display: flex;
	align-items: baseline;
	gap: 8px;
	color: var(--sev-text-light);
}

.sev-footer__list--hours {
	gap: 7px;
}

.sev-footer__list--hours li + li {
	padding-top: 7px;
	border-top: 1px solid rgba(216, 214, 212, .35);
}

.sev-footer__list a:hover,
.sev-footer__consent:hover {
	color: var(--sev-white);
}

.sev-footer__list .sev-icon {
	position: relative;
	top: 2px;
	width: 13px;
	height: 13px;
}

.sev-footer__consent {
	padding: 0;
	font: inherit;
	background: none;
	border: 0;
	cursor: pointer;
}

.sev-footer__bar {
	position: relative;
	padding: 10px var(--sev-gutter);
	color: var(--sev-white);
	text-align: center;
	background: var(--sev-primary);
}

.sev-footer__bar p {
	margin: 0;
	line-height: 38px;
}

@media (max-width: 1024px) {
	.sev-footer__inner {
		flex-direction: column;
		padding: 50px var(--sev-gutter);
	}

	.sev-footer__brand {
		flex-basis: auto;
		max-width: 350px;
		margin: 0 auto;
		padding: 0;
		text-align: center;
	}

	.sev-footer__logo {
		width: 100%;
		margin: 0 auto 20px;
	}
}

@media (max-width: 767px) {
	.sev-footer__cols {
		grid-template-columns: 1fr;
		gap: 20px;
		padding-top: 50px;
	}
}

/* Movimento: lo stato iniziale vale solo se lo script del sito è partito
   (classe sev-fx sull'html, vedi inc/enqueue.php). */

.sev-fx [data-sev-reveal] {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .8s var(--sev-ease), transform .8s var(--sev-ease);
	transition-delay: var(--sev-delay, 0s);
}

.sev-fx [data-sev-reveal="left"] {
	transform: translateX(-40px);
}

.sev-fx [data-sev-reveal="right"] {
	transform: translateX(40px);
}

.sev-fx [data-sev-reveal="zoom"] {
	transform: scale(.92);
}

.sev-fx [data-sev-reveal].is-in {
	opacity: 1;
	transform: none;
}

/* Apertura delle pagine: il contenuto entra con una dissolvenza breve (al
   posto del preloader di prima, che teneva la pagina coperta). */

.sev-fx .sev-main {
	animation: sev-page-in .5s var(--sev-ease) both;
}

@keyframes sev-page-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
}

/* Cursore: punto che segue il mouse e anello che lo insegue. */

.sev-cursor {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	pointer-events: none;
	border-radius: 50%;
	opacity: 0;
	transition: opacity .2s ease, scale .25s var(--sev-ease), background-color .25s ease;
	will-change: translate;
}

.sev-cursor--dot {
	width: 6px;
	height: 6px;
	margin: -3px 0 0 -3px;
	background: #111;
}

.sev-cursor--ring {
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border: 2px solid var(--sev-primary);
}

.sev-cursor.is-visible {
	opacity: 1;
}

.sev-cursor--ring.is-hover {
	scale: 1.9;
	background: rgba(13, 77, 161, .08);
}

@media (hover: none), (pointer: coarse) {
	.sev-cursor {
		display: none;
	}
}

/* Elementi comuni delle sezioni */

.sev-section-title {
	font-family: var(--sev-font-title);
	font-size: 48px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--sev-ink);
}

@media (max-width: 767px) {
	.sev-section-title {
		font-size: 32px;
	}
}

.sev-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 5px 15px;
	font-size: 16px;
	line-height: 24px;
	color: var(--sev-ink);
	border: 1px solid var(--sev-border);
	border-radius: var(--sev-radius);
}

.sev-eyebrow .sev-icon {
	width: 21px;
	height: 21px;
	color: var(--sev-primary);
}

.sev-eyebrow--light {
	color: var(--sev-white);
}

.sev-eyebrow--light .sev-icon {
	color: var(--sev-white);
}

.sev-checklist {
	display: grid;
	gap: 11px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sev-checklist li {
	display: flex;
	align-items: center;
	gap: 9px;
}

.sev-checklist .sev-icon {
	width: 13px;
	height: 13px;
	color: var(--sev-ink);
}

.sev-divider {
	width: 100%;
	height: 0;
	margin: 0;
	border: 0;
	border-top: 1px solid var(--sev-border);
}

.sev-prose > :last-child {
	margin-bottom: 0;
}

.sev-prose ul,
.sev-prose ol {
	margin: 0 0 14.4px;
	padding-left: 40px;
}

.sev-prose a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.sev-circle-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 65px;
	height: 65px;
	color: var(--sev-primary);
	background: var(--sev-white);
	border-radius: 50%;
}

/* Apertura delle home delle aree */

.sev-hero-home {
	padding: 0 50px;
}

.sev-hero-home__card {
	position: relative;
	overflow: hidden;
	min-height: 582px;
	padding: 100px 100px 150px;
	background: var(--sev-ink) var(--sev-bg, none) center / cover no-repeat fixed;
	border-radius: var(--sev-radius);
}

.sev-hero-home__card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--sev-ink);
	opacity: .7;
}

.sev-hero-home__inner {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 20px;
	max-width: 1140px;
	margin: 0 auto;
}

.sev-hero-home__text {
	flex: 0 1 560px;
	color: var(--sev-white);
}

.sev-hero-home__title {
	margin: 0 0 6px;
	font-size: 36px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sev-white);
}

.sev-hero-home__lead {
	max-width: 532px;
	margin: 0 0 14px;
}

.sev-hero-home__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
}

.sev-hero-home__phone {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	color: var(--sev-white);
}

.sev-hero-home__phone:hover {
	color: var(--sev-white);
}

.sev-hero-home__phone-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 65px;
	height: 65px;
	color: var(--sev-primary);
	background: var(--sev-white);
	border-radius: 50%;
	transition: transform .3s var(--sev-ease);
}

.sev-hero-home__phone:hover .sev-hero-home__phone-icon {
	transform: rotate(-12deg) scale(1.05);
}

.sev-hero-home__phone-icon .sev-icon {
	width: 28px;
	height: 28px;
}

.sev-hero-home__phone-label {
	display: block;
	font-size: 16px;
	line-height: 22px;
}

.sev-hero-home__phone strong {
	display: block;
	font-size: 20px;
	font-weight: 600;
	line-height: 28px;
}

.sev-hero-home__visual {
	position: relative;
	flex: 0 1 560px;
	align-self: stretch;
	min-height: 332px;
	margin-left: auto;
	background: var(--sev-bg, none) center / contain no-repeat;
}

.sev-badge-pill {
	position: absolute;
	top: 50px;
	right: 0;
	display: flex;
	align-items: center;
	gap: 15px;
	margin: 0;
	padding: 10px 30px 10px 15px;
	color: var(--sev-text);
	background: var(--sev-white);
	border-radius: 50px 15px 15px 50px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .12);
}

.sev-badge-pill > .sev-icon {
	box-sizing: content-box;
	width: 25px;
	height: 25px;
	padding: 20px;
	color: var(--sev-white);
	background: var(--sev-primary);
	border-radius: 50%;
}

.sev-badge-pill strong {
	display: block;
	font-family: var(--sev-font-title);
	font-size: 36px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sev-ink);
}

.sev-badge-pill strong + span {
	display: block;
	line-height: 24px;
}

@media (max-width: 1024px) {
	.sev-hero-home__card {
		background-attachment: scroll;
	}
}

@media (max-width: 767px) {
	.sev-hero-home {
		padding: 0;
	}

	.sev-hero-home .sev-strip {
		margin-top: 100px;
	}

	.sev-hero-home__card {
		min-height: 0;
		padding: 50px 20px;
		border-radius: 0;
	}

	.sev-hero-home__inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.sev-hero-home__text {
		flex: none;
	}

	.sev-hero-home__title {
		font-size: 30px;
	}

	.sev-hero-home__actions {
		justify-content: center;
	}

	.sev-hero-home__phone,
	.sev-hero-home__visual {
		display: none;
	}
}

/* Striscia dei contatti */

.sev-strip {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	max-width: var(--sev-container);
	margin: -60px auto 0;
	padding: 25px;
	background: var(--sev-primary);
	border-radius: var(--sev-radius-card);
	box-shadow: 0 24px 50px rgba(13, 77, 161, .25);
}

.sev-strip__item {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 0 20px 0 50px;
	color: var(--sev-white);
}

.sev-strip__item + .sev-strip__item {
	border-left: 1px solid rgba(255, 255, 255, .25);
}

.sev-strip__item:hover {
	color: var(--sev-white);
}

.sev-strip__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 70px;
	height: 70px;
	color: var(--sev-primary);
	background: var(--sev-white);
	border-radius: 50%;
	transition: transform .35s var(--sev-ease);
}

.sev-strip__item:hover .sev-strip__icon {
	transform: translateY(-4px);
}

.sev-strip__icon .sev-icon {
	width: 30px;
	height: 30px;
}

.sev-strip__title {
	display: block;
	margin: 8px 0 10px;
	font-size: 20px;
	font-weight: 600;
	line-height: 28px;
}

.sev-strip__text {
	display: block;
}

@media (max-width: 1024px) {
	.sev-strip {
		margin: -60px 20px 0;
	}

	.sev-strip__item {
		padding: 0 10px 0 20px;
	}
}

@media (max-width: 767px) {
	.sev-strip {
		grid-template-columns: 1fr;
		gap: 20px;
		margin: 0 20px;
		padding: 25px;
	}

	.sev-strip__item {
		flex-direction: column;
		gap: 15px;
		padding: 0 0 20px;
		text-align: center;
		border-bottom: 1px solid var(--sev-border);
	}

	.sev-strip__item:last-child {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.sev-strip__item + .sev-strip__item {
		border-left: 0;
	}
}

/* Chi siamo */

.sev-about {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	padding-top: 100px;
	padding-bottom: 100px;
}

.sev-about__media {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	padding-right: 20px;
}

.sev-about__col {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 20px;
}

.sev-about__badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 30px;
	color: var(--sev-primary);
	text-align: center;
	background: var(--sev-sky);
	border-radius: var(--sev-radius-card);
}

.sev-about__badge .sev-icon {
	box-sizing: content-box;
	width: 30px;
	height: 30px;
	padding: 20px;
	background: var(--sev-white);
	border-radius: 50%;
}

.sev-about__badge p {
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	line-height: 28px;
}

.sev-about__media {
	align-items: stretch;
}

.sev-about__col {
	align-content: start;
}

.sev-about__badge {
	min-height: 197px;
}

.sev-about__photo img {
	width: 100%;
	height: 195px;
	object-fit: cover;
	border-radius: var(--sev-radius);
}

.sev-about__tall {
	min-height: 320px;
	background: var(--sev-bg, none) center / cover no-repeat;
	border-radius: var(--sev-radius-card);
}

.sev-about__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 20px;
	padding-left: 20px;
}

.sev-about__body p {
	margin: 0;
}

.sev-about__lists {
	display: flex;
	gap: 50px;
}

@media (max-width: 1024px) {
	.sev-about {
		grid-template-columns: 1fr;
		padding-top: 70px;
		padding-bottom: 70px;
	}

	.sev-about__media {
		padding-right: 0;
	}

	.sev-about__body {
		padding-left: 0;
	}
}

@media (max-width: 767px) {
	.sev-about {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.sev-about__media {
		grid-template-columns: 1fr;
		order: 2;
	}

	.sev-about__body {
		align-items: center;
		text-align: center;
	}

	.sev-about__lists {
		align-self: flex-start;
		text-align: left;
	}

	.sev-about__tall {
		min-height: 320px;
	}

	.sev-about__lists {
		flex-direction: column;
		gap: 11px;
	}
}

/* Fascia con foto */

.sev-cta {
	padding: 0 50px;
}

.sev-cta__card {
	position: relative;
	overflow: hidden;
	padding: 100px 45px;
	background: var(--sev-ink) var(--sev-bg, none) center / cover no-repeat fixed;
	border-radius: var(--sev-radius-card);
}

.sev-cta__card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--sev-ink);
	opacity: .7;
}

.sev-cta__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	max-width: var(--sev-container);
	margin: 0 auto;
}

.sev-cta__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.sev-cta .sev-section-title {
	color: var(--sev-white);
}

.sev-cta__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	gap: 20px;
	padding: 10px;
	color: var(--sev-text-light);
	text-align: right;
}

.sev-cta__text {
	width: 100%;
}

.sev-cta__text.sev-prose > :last-child {
	margin-bottom: 14.4px;
}

.sev-cta--tall .sev-cta__card {
	padding-bottom: 180px;
}

.sev-cta--tall .sev-cta__inner {
	min-height: 383px;
}

.sev-cta--tall .sev-cta__body {
	justify-content: flex-end;
}

.sev-cta--text-left .sev-cta__text {
	text-align: left;
}

.sev-cta--full {
	padding: 0;
}

.sev-cta--full .sev-cta__card {
	padding: 100px var(--sev-gutter);
	border-radius: 0;
}

.sev-cta--full .sev-cta__head {
	justify-content: center;
	padding: 10px;
}

.sev-cta--full .sev-cta__body {
	padding: 0 0 0 30px;
}

.sev-cta__text ul {
	text-align: left;
}

@media (max-width: 1024px) {
	.sev-cta__card {
		background-attachment: scroll;
	}
}

@media (max-width: 767px) {
	.sev-cta {
		padding: 0;
	}

	.sev-cta__card,
	.sev-cta--tall .sev-cta__card,
	.sev-cta--full .sev-cta__card {
		padding: 50px 20px;
		border-radius: 0;
	}

	.sev-cta--full .sev-cta__body {
		padding: 0;
	}

	.sev-cta--tall .sev-cta__inner {
		min-height: 0;
	}

	.sev-cta__inner {
		grid-template-columns: 1fr;
	}

	.sev-cta__head,
	.sev-cta__body {
		align-items: center;
		padding: 0;
		text-align: center;
	}

	.sev-cta--text-left .sev-cta__text {
		text-align: center;
	}

	.sev-cta__text ul,
	.sev-cta__text ol {
		padding-left: 0;
		list-style-position: inside;
		text-align: center;
	}
}

/* Tecnologie */

.sev-tech {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 57px;
	margin-bottom: 57px;
	padding-top: 20px;
	padding-bottom: 20px;
}

.sev-tech__head {
	max-width: 1230px;
	margin: 0 auto;
	text-align: center;
	color: var(--sev-ink);
}

.sev-tech__title {
	margin-bottom: 20px;
	color: var(--sev-primary);
}

.sev-tech__row {
	display: grid;
	grid-template-columns: minmax(0, 791fr) minmax(0, 399fr);
	align-items: center;
	gap: 20px;
	margin: 61px 0;
	padding: 10px;
}

.sev-tech__row--reverse {
	grid-template-columns: minmax(0, 399fr) minmax(0, 791fr);
}

.sev-tech__row--reverse .sev-tech__media {
	order: 2;
}

.sev-tech__media .ehl-image-container {
	width: 62%;
	margin: 0 auto;
}

.sev-tech__media .ehl-main-image {
	width: 100%;
	height: auto;
}

.sev-tech__text {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 20px;
	padding: 10px;
	text-align: right;
}

.sev-tech__name {
	align-self: stretch;
	text-align: center;
}

.sev-tech__row--reverse .sev-tech__text {
	align-items: flex-start;
	text-align: left;
}

.sev-tech__row--reverse .sev-tech__name {
	text-align: left;
}

@media (max-width: 1024px) {
	.sev-tech__row,
	.sev-tech__row--reverse {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.sev-tech__media .ehl-image-container {
		width: 80%;
	}
}

@media (max-width: 767px) {
	.sev-tech__row,
	.sev-tech__row--reverse {
		grid-template-columns: 1fr;
		margin: 40px 0;
		padding: 0;
	}

	.sev-tech__media,
	.sev-tech__row--reverse .sev-tech__media {
		order: 0;
	}

	.sev-tech__text,
	.sev-tech__row--reverse .sev-tech__text {
		align-items: center;
		text-align: center;
	}

	.sev-tech__name,
	.sev-tech__row--reverse .sev-tech__name {
		text-align: center;
	}

	.sev-tech__media .ehl-image-container {
		width: 75%;
	}
}

/* Valori del componente hotspot sul sito */

.sev-hotspot {
	--ehl-marker-color: var(--sev-primary);
	--ehl-connector-color: var(--sev-primary);
	--ehl-marker-size: 24px;
	--ehl-connector-h: 50;
	--ehl-connector-v: 50;
	display: flex;
	justify-content: center;
}

/* Pannello quasi subito: la linea si disegna in 0,18 s invece di 0,55 s. */
.sev-hotspot[data-animation] {
	--ehl-anim-duration: .18s;
	--ehl-panel-dur: .22s;
}

.sev-hotspot .ehl-hotspot {
	width: 24px;
	height: 24px;
}

.sev-hotspot .ehl-marker {
	width: 24px;
	height: 24px;
	background-color: var(--sev-primary);
	border-radius: 100%;
}

.sev-hotspot .ehl-hotspot.is-active .ehl-marker {
	background-color: var(--sev-sky);
}

.sev-hotspot .ehl-pulse-ring {
	border-color: var(--sev-primary);
	animation-duration: 2.5s;
}

.sev-hotspot .ehl-marker-dot {
	background-color: var(--sev-white);
}

.sev-hotspot .ehl-panel {
	width: 223px;
	padding: 20px 24px;
	color: var(--sev-ink);
	background-color: var(--sev-white);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
	border-radius: 14px;
	box-shadow: 0 20px 60px -10px rgba(0, 0, 0, .18);
}

.sev-hotspot .ehl-panel-title {
	font-family: var(--sev-font-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
}

.sev-hotspot .ehl-panel-description {
	font-family: var(--sev-font-text);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.1;
}

/* Domande frequenti */

.sev-faq {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	padding-top: 100px;
	padding-bottom: 100px;
}

.sev-faq__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}

.sev-faq__intro p {
	margin: 0;
}

.sev-faq__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	padding-top: 20px;
}

.sev-faq__support {
	display: flex;
	align-items: center;
	gap: 15px;
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	line-height: 28px;
	color: var(--sev-ink);
}

.sev-faq__support-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	color: var(--sev-white);
	background: var(--sev-sky);
	border-radius: 50%;
}

.sev-faq__support-icon .sev-icon {
	width: 30px;
	height: 30px;
}

.sev-faq__list {
	display: grid;
	gap: 20px;
	align-content: start;
}

.sev-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px;
	font-size: 20px;
	font-weight: 600;
	line-height: 28px;
	color: var(--sev-white);
	list-style: none;
	cursor: pointer;
	background: var(--sev-primary);
	border-radius: var(--sev-radius);
	transition: background-color .25s ease;
}

.sev-faq__item summary::-webkit-details-marker {
	display: none;
}

.sev-faq__item summary:hover {
	background: var(--sev-primary-dark);
}

.sev-faq__item summary .sev-icon {
	width: 13px;
	height: 15px;
}

.sev-faq__minus,
.sev-faq__item[open] .sev-faq__plus {
	display: none;
}

.sev-faq__item[open] .sev-faq__minus {
	display: inline-block;
}

.sev-faq__answer {
	margin-top: 2px;
	padding: 20px 20px 25px;
	color: var(--sev-white);
	background: var(--sev-sky);
	border-radius: var(--sev-radius);
}

.sev-fx .sev-faq__item[open] .sev-faq__answer {
	animation: sev-open .35s var(--sev-ease);
}

@keyframes sev-open {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
}

@media (max-width: 1024px) {
	.sev-faq {
		grid-template-columns: 1fr;
		gap: 40px;
		padding-top: 70px;
		padding-bottom: 70px;
	}
}

@media (max-width: 767px) {
	.sev-faq {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.sev-faq__intro {
		align-items: center;
		text-align: center;
	}

	.sev-faq__actions {
		flex-direction: column;
		padding-top: 0;
	}

	.sev-faq__support {
		flex-direction: column;
	}

	.sev-faq__item summary {
		font-size: 18px;
	}
}

/* Banner dei cookie: in basso a sinistra, sopra al contenuto, senza
   bloccare la pagina. «Accetta» e «Rifiuta» hanno lo stesso peso. */

.sev-consent {
	position: fixed;
	z-index: 900;
	left: 20px;
	right: 20px;
	bottom: 20px;
	display: flex;
	justify-content: flex-start;
	pointer-events: none;
}

.sev-consent[hidden] {
	display: none;
}

.sev-consent__box {
	position: relative;
	width: 100%;
	max-width: 460px;
	padding: 24px 24px 20px;
	color: var(--sev-text);
	background: var(--sev-white);
	border-radius: var(--sev-radius-card);
	box-shadow: 0 24px 60px rgba(34, 31, 31, .22);
	pointer-events: auto;
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .35s ease, transform .35s var(--sev-ease);
}

.sev-consent.is-open .sev-consent__box {
	opacity: 1;
	transform: none;
}

.sev-consent__close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: inline-flex;
	padding: 6px;
	color: var(--sev-ink);
	background: none;
	border: 0;
	cursor: pointer;
}

.sev-consent__close .sev-icon {
	width: 14px;
	height: 14px;
}

.sev-consent__title {
	margin: 0 0 8px;
	padding-right: 24px;
	font-size: 20px;
	font-weight: 600;
	line-height: 28px;
	color: var(--sev-ink);
}

.sev-consent__text {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.45;
}

.sev-consent__text a {
	text-decoration: underline;
}

.sev-consent__details {
	display: grid;
	gap: 10px;
	margin: 0 0 16px;
	padding: 14px;
	background: var(--sev-ice);
	border-radius: var(--sev-radius);
}

.sev-consent__details[hidden] {
	display: none;
}

.sev-consent__option {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 15px;
	line-height: 1.4;
}

.sev-consent__option input {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	accent-color: var(--sev-primary);
}

.sev-consent__option strong {
	display: block;
	color: var(--sev-ink);
}

.sev-consent__actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.sev-consent__btn {
	padding: 11px 18px;
	font: 600 16px/24px var(--sev-font-text);
	color: var(--sev-white);
	background: var(--sev-primary);
	border: 2px solid var(--sev-primary);
	border-radius: var(--sev-radius);
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}

.sev-consent__btn:hover {
	background: var(--sev-primary-dark);
	border-color: var(--sev-primary-dark);
}

.sev-consent__btn--ghost {
	color: var(--sev-primary);
	background: transparent;
}

.sev-consent__btn--ghost:hover {
	color: var(--sev-white);
}

.sev-consent__btn[hidden] {
	display: none;
}

@media (max-width: 767px) {
	.sev-consent {
		left: 10px;
		right: 10px;
		bottom: 10px;
	}

	.sev-consent__box {
		max-width: none;
	}

	.sev-consent__actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sev-consent__btn--ghost {
		grid-column: 1 / -1;
		order: 1;
	}
}

/* Contrasto (audit del 2026-10-19). L'azzurro del marchio resta come fondo e
   come accento, non come colore dei testi da leggere: azzurro su bianco e
   bianco su azzurro arrivano a 2,1:1, la soglia è 4,5:1 (3:1 per i titoli
   grandi). Per tornare all'aspetto del sito fatto con Elementor basta
   togliere questo blocco. */

.sev-nav__link:hover,
.sev-nav__item.is-current > .sev-nav__link {
	color: var(--sev-primary);
	text-decoration: underline 2px var(--sev-sky);
	text-underline-offset: 8px;
}

.sev-nav__sublink:hover,
.sev-nav__item--sub.is-current > .sev-nav__sublink {
	color: var(--sev-primary);
}

.sev-about__badge p {
	font-weight: 700;
}

.sev-faq__answer {
	color: var(--sev-ink);
}

.sev-ev-related .sev-ev-related__title,
.sev-ev-related .sev-ev-card .sev-ev-card__place {
	color: var(--sev-ink);
}

.sev-ev-related .sev-ev-related__eyebrow {
	color: var(--sev-ink);
	border-color: var(--sev-ink);
}

.sev-prodotti-card .sev-prodotti-card__button {
	color: var(--sev-primary-dark);
}

.sev-kit-card .sev-kit-card__number,
.sev-kit-step .sev-kit-step__number {
	color: var(--sev-ocean);
}
