/**
 * /www/wwwroot/neovital.eu/assets/css/site.css
 */

:root{
	--bg:#1f2730;
	--panel:#eef2f6;
	--text:#1c2b38;
	--muted:#5e6e7d;
	--line:#d9e0e7;
	--chip:#f4f7fa;
	--chip-border:#cfd8e1;
}

*{
	box-sizing:border-box;
}

body{
	margin:0;
	min-height:100vh;
	background:
		radial-gradient(1200px 600px at 20% 10%, rgba(255,255,255,0.05), transparent 60%),
		radial-gradient(900px 500px at 80% 30%, rgba(255,255,255,0.03), transparent 55%),
		var(--bg);
	color:var(--text);
	font-family:'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-weight:400;
	display:flex;
	justify-content:center;
	align-items:center;
	padding:20px 14px;
}

.card{
	width:min(1380px,100%);
	background:var(--panel);
	border:1px solid rgba(255,255,255,0.12);
	border-radius:18px;
	padding:38px 48px;
	box-shadow:0 18px 40px rgba(0,0,0,0.25);
}

/* LOGO */
.logo{
	display:block;
	margin:0 auto 10px auto;
	width:30%;
	max-width:360px;
	height:auto;
}

/* LANGUAGE SWITCH - MINIMAL */
.lang-switch{
	display:flex;
	justify-content:center;
	gap:14px;
	margin:6px auto 14px auto;
	font-size:11px;
	letter-spacing:1.5px;
	font-weight:500;
}

.lang-switch a{
	text-decoration:none;
	color:#7a8896;
	transition:all .2s ease;
	padding:4px 6px;
	border-radius:6px;
}

.lang-switch a:hover{
	color:#2f5d73;
	background:rgba(47,93,115,0.08);
}

.lang-switch a.active{
	color:#1c2b38;
	font-weight:600;
}

.hairline{
	width:92px;
	height:1px;
	background:linear-gradient(90deg,transparent,#cfd8e1,transparent);
	margin:8px auto 18px auto;
}

/* PAGE TITLE */
.page-title{
	text-align:center;
	color:var(--text);
	font-size:14px;
	letter-spacing:2.2px;
	font-weight:600;
	margin:0 auto 12px auto;
}

/* HERO */
.subtitle{
	margin:0 auto;
	text-align:center;
	color:#3c4a57;
	max-width:980px;
	font-size:22px;
	line-height:1.4;
	font-weight:500;
}

/* BADGES / NAV */
.badges{
	margin:26px auto 0 auto;
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	justify-content:center;
}

.badges .badge-link{
	text-decoration:none;
	color:inherit;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}

.badge{
	border:1px solid var(--chip-border);
	background:var(--chip);
	color:#2b3a48;
	padding:9px 16px;
	border-radius:999px;
	font-size:13px;
	letter-spacing:0.3px;
	min-width:135px;
	text-align:center;
	display:flex;
	align-items:center;
	justify-content:center;
}

.badges .badge-link:hover .badge,
.badges .badge-link:focus .badge{
	background:#ffffff;
	border-color:#bfcad6;
	box-shadow:0 6px 14px rgba(0,0,0,0.08);
	transform:translateY(-1px);
}

.badges .badge-link:focus{
	outline:none;
}

/* HOME BLOCKS */
.home-blocks{
	margin:34px auto 0 auto;
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:22px;
	max-width:1220px;
}

.home-block{
	background:rgba(255,255,255,0.55);
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);

	border:1px solid rgba(200,210,220,0.6);
	border-radius:18px;
	padding:24px 22px 22px 22px;
	min-height:210px;

	box-shadow:0 8px 18px rgba(0,0,0,0.04);
}

.home-block-title{
	font-size:15px;
	font-weight:700;
	letter-spacing:1.2px;
	text-transform:uppercase;
	color:#2f4254;
	margin:0 0 14px 0;
}

.home-block-text{
	font-size:18px;
	line-height:1.55;
	color:#475766;
}

/* FOOTER */
.footer{
	margin-top:34px;
	padding-top:18px;
	border-top:1px solid var(--line);
	text-align:center;
	color:#6d7a86;
	font-size:12px;
	line-height:1.65;
}

.footer strong{
	color:#1c2b38;
	font-weight:600;
}

.note{
	margin-top:10px;
	color:#8c98a3;
	font-size:11px;
}

.advisor-link{
	color:inherit;
	text-decoration:none;
	font-weight:inherit;
}

.advisor-link:hover,
.advisor-link:focus{
	color:inherit;
	text-decoration:none;
	outline:none;
}

.footer .advisor-link{
	pointer-events:auto;
	cursor:pointer;
}

/* SUBPAGES */
body.page-sub .badges{
	display:none;
}

body.page-sub .logo{
	width:26%;
	max-width:220px;
	opacity:0.92;
	margin-bottom:10px;
}

body.page-sub .subtitle{
	max-width:760px;
	font-size:15px;
	line-height:1.7;
}

body.page-sub{
	align-items:flex-start;
	padding-top:70px;
}

/* HOME link inside footer */
.home-footer-link{
	margin-top:18px;
	text-align:center;
	font-size:12px;
	letter-spacing:1px;
}

.home-footer-link a{
	color:#8B4513;
	text-decoration:none;
	font-weight:500;
}

.home-footer-link a:hover{
	color:#A0522D;
}

/* PRODUCTS PAGE LAYOUT */
.products-layout{
	display:grid;
	grid-template-columns:minmax(260px, 340px) minmax(0, 1fr);
	gap:28px;
	align-items:start;
	margin-top:36px;
}

.products-sidebar{
	display:flex;
	flex-direction:column;
	gap:18px;
}

.products-grid{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:24px;
	align-items:stretch;
}

.products-sidebar .home-block,
.products-grid .home-block{
	height:100%;
	box-sizing:border-box;
}

/* PRODUCTS PAGE REFINEMENT */
.products-sidebar .home-block{
	background:rgba(255,255,255,0.50);
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);

	border:1px solid rgba(200,210,220,0.6);
	min-height:auto;
	padding:18px 18px 16px 18px;
	box-shadow:0 6px 14px rgba(0,0,0,0.035);
}
.products-sidebar .home-block + .home-block{
	margin-top:-2px;
}

.products-sidebar .home-block-title{
	font-size:11px;
	letter-spacing:1.7px;
	color:#6f4e37;
	margin:0 0 10px 0;
}

.products-sidebar .home-block-text{
	font-size:11px;
	line-height:1.7;
	color:#4e5d6b;
}

.products-grid .home-block{
	background:rgba(255,255,255,0.50);
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);

	border:1px solid rgba(200,210,220,0.6);
	min-height:170px;
	padding:20px 18px 18px 18px;
	box-shadow:0 7px 16px rgba(0,0,0,0.03);
}

.products-grid .home-block-title{
	font-size:14px;
	letter-spacing:1.4px;
	color:#2f5d73;
	font-weight:600;
}

.products-grid .home-block-text{
	font-size:15px;
	line-height:1.55;
	color:#50606f;
}

/* PRODUCTS HERO IMAGE */
.card-products{
	position:relative;
	overflow:hidden;
}

.card-products > *{
	position:relative;
	z-index:1;
}

.products-hero-image{
	position:absolute;
	top:120px; /* subito sotto logo + lingue + hairline */
	left:50%;
	transform:translateX(-50%);
	width:720px;
	max-width:78%;
	pointer-events:none;
	z-index:0;
	opacity:0.85;
}

.products-hero-image img{
	display:block;
	width:100%;
	height:auto;
	filter:contrast(1.15) brightness(0.95);
}

body.page-sub .card-products .page-title{
	margin-top:8px;
	font-size:15px;
	letter-spacing:3px;
}

body.page-sub .card-products .subtitle{
	max-width:940px;
	font-size:18px;
	line-height:1.75;
	margin-bottom:8px;
}

/* TABLET */
@media (max-width:1100px){
	.card{
		width:min(980px,100%);
		padding:34px 28px;
	}

	.products-layout{
		grid-template-columns:1fr;
	}

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

	.products-sidebar .home-block-title,
	.products-grid .home-block-title{
		font-size:13px;
	}

	.products-sidebar .home-block-text,
	.products-grid .home-block-text{
		font-size:15px;
	}

	.products-hero-image{
		top:28px;
		right:28px;
		width:280px;
		max-width:30%;
		opacity:0.68;
	}
}

/* MOBILE */
@media (max-width:720px){
	.products-grid{
		grid-template-columns:1fr;
	}

	.products-hero-image{
		display:none;
	}

	body.page-sub .card-products .subtitle{
		font-size:16px;
		line-height:1.65;
	}
}

@media (max-width:600px){
	.card{
		padding:28px 18px;
	}

	.logo{
		width:60%;
		max-width:none;
	}

	body.page-sub .logo{
		width:46%;
		max-width:none;
	}

	.subtitle{
		font-size:18px;
		max-width:100%;
	}

	.home-block-text{
		font-size:16px;
	}

	.badges{
		gap:10px;
	}

	.badge{
		min-width:120px;
		font-size:12px;
	}

	.products-sidebar .home-block-text,
	.products-grid .home-block-text{
		font-size:14px;
		line-height:1.55;
	}
}