/*
	POC di aggiornamento grafico — homepage
	Override additivo, non tocca style.css. Rimuovibile disattivando il <link> in index.html.
*/

/* ---- Hero ---- */
#hero {
	background: linear-gradient(135deg, #0090c5 0%, #045e82 100%);
	color: #fff;
	padding: 4.5em 0 4em 0;
	margin-bottom: 2.5em;
	text-align: center;
}
#hero h1 {
	font-family: 'Open Sans', sans-serif;
	font-size: 2.6em;
	font-weight: 800;
	color: #fff;
	margin: 0 0 0.35em 0;
	letter-spacing: -0.01em;
}
#hero p {
	font-size: 1.2em;
	font-weight: 300;
	color: rgba(255,255,255,0.92);
	max-width: 42em;
	margin: 0 auto 1.6em auto;
	line-height: 1.6;
}
#hero .hero-ctas {
	display: flex;
	gap: 1em;
	justify-content: center;
	flex-wrap: wrap;
}
#hero .button {
	font-size: 1em;
	padding: 0.9em 1.8em;
	border-radius: 8px;
}
#hero .button.primary {
	background: #fff;
	color: #045e82;
}
#hero .button.primary:hover {
	background: #eef8fc;
}
#hero .button.ghost {
	background: rgba(255,255,255,0.12);
	color: #fff;
	border: 1px solid rgba(255,255,255,0.55);
}
#hero .button.ghost:hover {
	background: rgba(255,255,255,0.22);
}

@media screen and (max-width: 980px) {
	#hero {
		padding: 3.5em 0 3em 0;
	}
	#hero h1 {
		font-size: 2em;
		line-height: 1.25;
	}
	#hero p {
		font-size: 1.05em;
	}
}

@media screen and (max-width: 480px) {
	#hero h1 {
		font-size: 1.6em;
	}
	#hero .hero-ctas {
		flex-direction: column;
	}
	#hero .button {
		width: 100%;
		text-align: center;
	}
}

/* ---- Product cards ---- */
#features-wrapper h2 {
	font-size: 1.5em;
	font-weight: 800;
	color: #2b2b2b;
	margin-bottom: 0.9em;
}
#features-wrapper .box.feature {
	transition: transform .2s ease, box-shadow .2s ease;
	overflow: hidden;
}
#features-wrapper .box.feature:hover {
	transform: translateY(-4px);
	box-shadow: 0px 10px 24px 0px rgba(0,0,0,0.12);
}
#features-wrapper .image.featured {
	margin: 0;
	height: 11em;
	background: #f2f6f8;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
#features-wrapper .image.featured img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#features-wrapper .box.feature .inner {
	padding: 1.1em 1.3em 1.4em 1.3em;
}
#features-wrapper .box.feature header h2 {
	font-size: 1.05em;
	margin: 0 0 0.3em 0;
}
#features-wrapper .box.feature header h2 a {
	color: #1a2b33;
	text-decoration: none;
	font-weight: 800;
}
#features-wrapper .box.feature header h2 a:hover {
	color: #0090c5;
}
#features-wrapper .box.feature header p {
	font-size: 0.92em;
	line-height: 1.5;
	margin: 0;
}
#features-wrapper .box.feature header p a {
	color: #767676;
	text-decoration: none;
}
#features-wrapper .box.feature header p a:hover {
	color: #0090c5;
	text-decoration: underline;
}

/* ---- Content section ---- */
#main-wrapper #content h2 {
	font-size: 1.4em;
	font-weight: 800;
	color: #2b2b2b;
}
#main-wrapper #content p {
	line-height: 1.75;
}
ul.feature-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.feature-list li {
	display: flex;
	align-items: flex-start;
	gap: 1em;
	padding: 1em 0;
	border-bottom: 1px solid rgba(0,0,0,0.06);
}
ul.feature-list li:last-child {
	border-bottom: none;
}
ul.feature-list i {
	flex: 0 0 auto;
	width: 2.2em;
	height: 2.2em;
	border-radius: 50%;
	background: #e8f4fa;
	color: #0090c5;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1em;
}
ul.feature-list b {
	display: block;
	color: #2b2b2b;
	font-weight: 800;
	margin-bottom: 0.2em;
}
ul.feature-list span {
	line-height: 1.65;
}

/* ---- Sidebar widgets (home thumbnails + subpage link lists) ---- */
#sidebar section,
#sidebar .widget {
	background: #fff;
	border-radius: 6px;
	box-shadow: 0px 3px 0px 0px rgba(0,0,0,0.05);
	padding: 1.4em 1.6em;
	margin-bottom: 1.5em;
}
#sidebar .widget h3,
#sidebar section h3 {
	font-size: 1.05em;
	font-weight: 800;
	color: #2b2b2b;
	margin-bottom: 0.6em;
}
#sidebar .widget.thumbnails .grid a.image {
	display: block;
	border-radius: 6px;
	overflow: hidden;
	background: #f2f6f8;
	height: 7em;
}
#sidebar .widget.thumbnails .grid a.image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#sidebar .widget.thumbnails a.button {
	margin-top: 0.8em;
}
#sidebar ul.style2 li {
	padding: 0.4em 0;
}
#sidebar ul.style2 a {
	text-decoration: none;
}
#sidebar ul.style2 a:hover {
	text-decoration: underline;
}

/* ---- Tables (technical spec sheets) ---- */
#content table {
	width: 100% !important;
	max-width: 100%;
	border-collapse: collapse;
	display: block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 1.5em 0;
	border-radius: 6px;
	box-shadow: 0px 3px 0px 0px rgba(0,0,0,0.05);
}
#content table tr:first-child td,
#content table tr:first-child th {
	background: #0090c5 !important;
	color: #fff !important;
	font-weight: 800;
	border: none !important;
}
#content table td,
#content table th {
	padding: 0.6em 1em !important;
	border: 1px solid #eee !important;
	background: #fff !important;
	color: #555 !important;
}
#content table tr:nth-child(even) td {
	background: #f9fbfc !important;
}

/* ---- Footer ---- */
#footer-wrapper {
	background: #0b2733;
	margin-top: 3em;
	padding: 3em 0 0.5em 0;
}
#footer-wrapper .widget h3,
#footer-wrapper .widget h3 a {
	color: #fff;
	font-weight: 800;
	font-size: 1.05em;
	text-decoration: none;
}
#footer-wrapper .widget.links ul li a,
#footer-wrapper .widget.contact p {
	color: rgba(255,255,255,0.65);
}
#footer-wrapper .widget.links ul li a,
#footer-wrapper .widget h3 a {
	text-decoration: none;
}
#footer-wrapper .widget.links ul li a:hover,
#footer-wrapper .widget h3 a:hover {
	color: #fff;
	text-decoration: underline;
}
#footer-wrapper #copyright {
	border-top: 1px solid rgba(255,255,255,0.1);
	margin-top: 2em;
	padding: 1.2em 0;
}
#footer-wrapper #copyright,
#footer-wrapper #copyright a {
	color: rgba(255,255,255,0.4);
	font-size: 0.85em;
	text-decoration: none;
}
#footer-wrapper #copyright a:hover {
	text-decoration: underline;
}

/* ---- Nav dropdown ---- */
.dropotron {
	border-radius: 10px;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.06), 0 0.75em 1.75em 0 rgba(11,39,51,0.16);
	padding: 0.5em 0;
}
.dropotron li {
	border-top: none;
	line-height: 2.6em;
}
.dropotron li > a,
.dropotron li > span {
	padding: 0 1.6em;
}
.dropotron li > a:hover,
.dropotron li > span:hover,
.dropotron li.active > a,
.dropotron li.active > span {
	background: #e8f4fa;
	color: #0090c5;
}

/* ---- Top-level nav: underline indicator instead of solid hover block ---- */
#nav > ul > li > a,
#nav > ul > li > span {
	background: none !important;
	position: relative;
}
#nav > ul > li > a:before,
#nav > ul > li > span:before {
	content: '';
	position: absolute;
	left: 1em;
	right: 1em;
	bottom: 0.4em;
	height: 2px;
	background: #0090c5;
	transform: scaleX(0);
	transition: transform .2s ease-in-out;
}
#nav > ul > li > a:hover:before,
#nav > ul > li > span:hover:before,
#nav > ul > li:hover > a:before,
#nav > ul > li:hover > span:before {
	transform: scaleX(1);
}
#nav > ul > li.current > a {
	background: none !important;
	color: #0090c5 !important;
}
#nav > ul > li.current > a:before {
	transform: scaleX(1);
}

/* ---- Button radius consistency site-wide ---- */
.button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
	border-radius: 8px;
}

/* ---- Mobile nav panel ---- */
#navPanel .link {
	color: #444;
	transition: background-color .2s ease-in-out, color .2s ease-in-out;
}
#navPanel .link:hover {
	background: #e8f4fa;
	color: #0090c5;
}
#navPanel .depth-0 {
	color: #1a2b33;
}
#titleBar .toggle {
	background: #0090c5;
	opacity: 1;
	border-radius: 8px;
}
#titleBar .toggle:before {
	color: #fff;
}

/* ---- Subheading icon accents on product pages ---- */
#content article h3 {
	display: flex;
	align-items: center;
	gap: 0.55em;
}
#content article h3:before {
	font-family: FontAwesome;
	content: "\f105";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.6em;
	height: 1.6em;
	border-radius: 50%;
	background: #e8f4fa;
	color: #0090c5;
	font-size: 0.7em;
	flex: 0 0 auto;
}

/* ---- Single product image on subpages ---- */
#content .box.feature {
	padding: 1.6em;
	text-align: center;
}
#content .box.feature img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
}

/* ---- Page CTA (subpages) ---- */
#page-cta {
	background: #eef8fc;
	border-radius: 10px;
	text-align: center;
	padding: 2.6em 2em;
	margin: 2.5em 0 0 0;
}
#page-cta h3 {
	margin: 0 0 0.35em 0;
	font-size: 1.35em;
	color: #045e82;
	font-weight: 800;
}
#page-cta p {
	margin: 0 0 1.3em 0;
	color: #3a5560;
}
#page-cta .button {
	padding: 0.8em 1.9em;
	border-radius: 8px;
}

/* ---- Software page ---- */
.software-list {
	display: flex;
	flex-direction: column;
	gap: 2em;
}
.software-block {
	display: flex;
	align-items: stretch;
	gap: 0;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0px 3px 0px 0px rgba(0,0,0,0.05);
	overflow: hidden;
}
.software-block.reverse {
	flex-direction: row-reverse;
}
.software-block-media {
	flex: 0 0 32%;
	background: #f2f6f8;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.8em;
}
.software-block-media img {
	max-width: 100%;
	max-height: 15em;
	object-fit: contain;
	border-radius: 6px;
}
.software-block-body {
	flex: 1 1 auto;
	padding: 2em 2.4em 2em 0.5em;
}
.software-block.reverse .software-block-body {
	padding: 2em 0.5em 2em 2.4em;
}
.software-block-body h2 {
	margin: 0 0 0.5em 0;
	font-size: 1.4em;
}
.software-block-body h2 a {
	color: #1a2b33;
	text-decoration: none;
	font-weight: 800;
}
.software-block-body h2 a:hover {
	color: #0090c5;
}
.software-block-body > p {
	color: #555;
	margin: 0 0 1em 0;
}
ul.check-list {
	list-style: none;
	margin: 0 0 1.6em 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5em 1.5em;
}
ul.check-list li {
	position: relative;
	padding-left: 1.6em;
	line-height: 1.5;
	color: #555;
	font-size: 0.95em;
}
ul.check-list li:before {
	font-family: FontAwesome;
	content: "\f00c";
	position: absolute;
	left: 0;
	top: 0.15em;
	color: #0090c5;
	font-size: 0.85em;
}
.software-block-body .button.alt {
	background: #eef8fc;
	color: #045e82;
}
.software-block-body .button.alt:hover {
	background: #dcf0f8;
}

@media screen and (max-width: 780px) {
	.software-block,
	.software-block.reverse {
		flex-direction: column;
	}
	.software-block-media {
		flex: 0 0 auto;
		width: 100%;
	}
	.software-block-body,
	.software-block.reverse .software-block-body {
		padding: 1.6em;
	}
	ul.check-list {
		grid-template-columns: 1fr;
	}
}
