/*
Theme Name: Ansrea Stefanini v2026
Author: Digireturn
Author URI: https://digireturn.it
Description: Tema WordPress su misura per Andrea Stefanini
Version: 1.0.0 
*/

:root{
	--bs-body-font-family:'Inter', sans-serif;
	--font-heading:'Plus Jakarta Sans', 'Inter', sans-serif;
	--brand-primary:#0284c7;
	--brand-primary-hover:#0369a1;
	--brand-accent:#38bdf8;
	--brand-glow:rgba(56, 189, 248, 0.35);
	--brand-dark:#090d16;
	--brand-dark-alt:#0f172a;
	--brand-surface-dark:#1e293b;
	--brand-surface-light:#ffffff;
	--brand-light-bg:#f8fafc;
	--brand-light-alt:#f1f5f9;
	--brand-text-dark:#0f172a;
	--brand-text-muted:#64748b;
	--header-bg:rgba(0, 0, 0, 0.74);
	--gradient-accent:linear-gradient(135deg, #38bdf8 0%, #2563eb 100%);
	--gradient-card:linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
	--glass-bg:rgba(255, 255, 255, 0.75);
	--glass-dark:rgba(9, 13, 22, 0.85);
	--shadow-card:0 10px 30px -5px rgba(0, 0, 0, 0.05), 0 4px 12px -2px rgba(0, 0, 0, 0.03);
	--shadow-card-hover:0 20px 40px -10px rgba(2, 132, 199, 0.2), 0 10px 20px -5px rgba(0, 0, 0, 0.08);
}
body{
	font-family:var(--bs-body-font-family);
	color:var(--brand-text-dark);
	background-color:var(--brand-light-bg);
	overflow-x:hidden;
	scroll-behavior:smooth;
}
h1, h2, h3, h4, h5, .font-heading{
	font-family:var(--font-heading);
}
/* Top Progress Bar */
#scroll-progress{
	position:fixed;
	top:0;
	left:0;
	height:3px;
	background:var(--gradient-accent);
	z-index:1040;
	width:0%;
	transition:width 0.1s ease-out;
} 
.text-gradient{
	background:var(--gradient-accent);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
}
.navbar-overlay{
	position:fixed;
	top:0;
	left:0;
	right:0;
	z-index:1030;
	background:var(--header-bg);
	backdrop-filter:blur(16px);
	-webkit-backdrop-filter:blur(20px);
	padding:14px 0;
	border-bottom:1px solid rgba(255, 255, 255, 0.08) !important;
	transition:all 0.3s ease;
	box-shadow:0 4px 6px rgba(0,0,0,0.5);
}
.navbar-brand-logo{
	font-weight:800;
	letter-spacing:0.5px;
	color:#ffffff;
}
.nav-link{
	color:#cbd5e1 !important;
	font-size:0.85rem;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:1px;
	transition:all 0.25s ease;
	padding:8px 16px !important;
	border-radius:8px;
}
.nav-link:hover{
	color:#ffffff !important;
	background:rgba(56, 189, 248, 0.15);
}
.logo-header{
	height: 60px;
	margin: -12px 0;
}


@media(max-width:992px){
	#navbarNav{
		width: 300px;
		max-width: 100%;
		position: fixed;
		right: 0;
		top: 75px;
		bottom: 0;
		height: 100vh;
		background: #333;
		overflow-y: auto;
		text-align: center;
		line-height: 1.5;
		padding:16px 0 0 0;
		background: var(--header-bg);
	}
	.nav-link {
		font-size: 1.2rem;
	}
}
.badge-live{
	display:inline-flex;
	align-items:center;
	gap:8px;
	background:rgba(239, 68, 68, 0.15);
	color:#f87171;
	border:1px solid rgba(239, 68, 68, 0.3);
	padding:6px 16px;
	border-radius:30px;
	font-size:0.75rem;
	font-weight:700;
	letter-spacing:1px;
	text-transform:uppercase;
}
.pulse-dot{
	width:8px;
	height:8px;
	background-color:#ef4444;
	border-radius:50%;
	box-shadow:0 0 0 rgba(239, 68, 68, 0.4);
	animation:pulse 1.8s infinite;
}
@keyframes pulse{
	0%{ box-shadow:0 0 0 0 rgba(239, 68, 68, 0.7); }
	70%{ box-shadow:0 0 0 8px rgba(239, 68, 68, 0); }
	100%{ box-shadow:0 0 0 0 rgba(239, 68, 68, 0); }
}
.reveal-on-scroll{
	opacity:0;
	transform:translateY(35px);
	transition:opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
	will-change:opacity, transform;
}
.reveal-left{
	opacity:0;
	transform:translateX(-40px);
	transition:opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-right{
	opacity:0;
	transform:translateX(40px);
	transition:opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-zoom{
	opacity:0;
	transform:scale(0.92);
	transition:opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-on-scroll.is-visible,
.reveal-left.is-visible,
.reveal-right.is-visible,
.reveal-zoom.is-visible{
	opacity:1;
	transform:translateY(0) translateX(0) scale(1);
}
.delay-1{ transition-delay:0.1s; }
.delay-2{ transition-delay:0.2s; }
.delay-3{ transition-delay:0.3s; }
.delay-4{ transition-delay:0.4s; }
section{padding:30px 0}
.section-header-dark{
	background:linear-gradient(180deg, #50586c 0%, #2f3441 100%);
	color:#ffffff;
	position:relative;
	border:none !important;
}
.section-title-tag{
	font-size:0.8rem;
	font-weight:800;
	letter-spacing:2px;
	text-transform:uppercase;
	color:var(--brand-accent);
	display:inline-block;
	margin-bottom:8px;
	background:rgba(56, 189, 248, 0.12);
	padding:6px 14px;
	border-radius:20px;
	border:1px solid rgba(56, 189, 248, 0.2);
}
.bg-section-light-1{
	background-color:var(--brand-surface-light);
	color:var(--brand-text-dark);
}
.bg-section-light-2{
	background-color:var(--brand-light-alt);
	color:var(--brand-text-dark);
}
.hero-section{
	position:relative;
	width:100%;
	height:100vh;
	min-height:680px;
	margin:0;
	padding:0;
	overflow:hidden;
	display:flex;
	align-items:end;
	justify-content:center;
	background-color:#000000;
}
.video-container{
	position:absolute;
	top:50%;
	left:50%;
	width:100vw;
	height:100vh;
	transform:translate(-50%, -50%);
	pointer-events:none;
	z-index:0;
}
.video-container iframe{
	opacity:0;
	width:100vw;
	height:56.25vw;
	min-height:100vh;
	min-width:177.77vh;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	border:0;
	filter:brightness(0.7) contrast(1.1);
}
.video-loaded .video-container iframe{
	opacity:1
}
.hero-overlay{
	position:absolute;
	inset:0;
	background:radial-gradient(circle at center, rgba(9, 13, 22, 0.35) 0%, rgba(9, 13, 22, 0.9) 100%);
	z-index:1;
}
.hero-content{
	position:relative;
	z-index:2;
}
.drop-shadow-lg{
	text-shadow:0 4px 20px rgba(0, 0, 0, 0.9);
}
.btn-glow-primary{
	background:var(--gradient-accent);
	color:#ffffff;
	font-weight:700;
	border:none;
	border-radius:12px;
	box-shadow:0 8px 25px var(--brand-glow);
	transition:all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	position:relative;
	overflow:hidden;
}
.btn-glow-primary:hover{
	transform:translateY(-3px) scale(1.02);
	box-shadow:0 12px 35px rgba(56, 189, 248, 0.5);
	color:#ffffff;
}
.stats-bar{
	background:rgba(15, 23, 42, 0.95);
	backdrop-filter:blur(20px);
	border-y:1px solid rgba(255, 255, 255, 0.1);
	box-shadow:0 15px 35px rgba(0,0,0,0.2);
	position:relative;
	z-index:10;
}
.stat-card{
	padding:16px;
	border-radius:16px;
	background:rgba(255, 255, 255, 0.03);
	border:1px solid rgba(255, 255, 255, 0.06);
	transition:transform 0.3s ease;
}
.stat-card:hover{
	transform:translateY(-4px);
	background:rgba(255, 255, 255, 0.06);
}
.stat-number{
	font-size:2.6rem;
	font-weight:800;
	color:var(--brand-accent);
	line-height:1;
	font-family:var(--font-heading);
}
.stat-label{
	font-size:0.85rem;
	color:#94a3b8;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:0.5px;
	margin-top:6px;
}
.media-frame{
	position:relative;
	overflow:hidden;
	background-color:var(--brand-surface-dark);
	width:100%;
	border-radius:18px;
	aspect-ratio:16/9;
	box-shadow:var(--shadow-card);
	transition:all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.media-frame img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.media-frame:hover{
	transform:translateY(-6px);
	box-shadow:var(--shadow-card-hover);
}
.media-frame:hover img{
	transform:scale(1.08);
}
.media-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, rgba(0,0,0,0) 20%, rgba(9, 13, 22, 0.92) 100%);
	display:flex;
	align-items:flex-end;
	padding:24px;
}
.btn-play-video{
	background:rgba(2, 132, 199, 0.9);
	color:#ffffff;
	backdrop-filter:blur(8px);
	font-weight:700;
	padding:10px 22px;
	border-radius:30px;
	letter-spacing:0.5px;
	transition:all 0.3s ease;
	border:1px solid rgba(255,255,255,0.2) !important;
	display:inline-flex;
	align-items:center;
	box-shadow:0 4px 15px rgba(2, 132, 199, 0.4);
}
.btn-play-video:hover{
	background:var(--brand-accent);
	color:#0f172a;
	transform:scale(1.06);
	box-shadow:0 6px 20px rgba(56, 189, 248, 0.6);
}
/* Badges */
.badge-muted{
	background-color:#f1f5f9;
	color:#475569;
	border:1px solid #e2e8f0;
	font-weight:600;
	padding:6px 14px;
	border-radius:20px;
}
.badge-number{
	width:50px;
	height:50px;
	border:1px solid #3e7a84;
	color:#333;
	font-weight:800;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1rem;
	border-radius:50%;
}
.broadcaster-pill{
	background:#ffffff;
	color:var(--brand-text-dark);
	border:1px solid #e2e8f0;
	font-weight:700;
	padding:8px 18px;
	border-radius:30px;
	box-shadow:0 2px 8px rgba(0,0,0,0.04);
	transition:all 0.3s ease;
}
.broadcaster-pill:hover{
	background:var(--gradient-accent);
	color:#ffffff;
	border-color:transparent;
	transform:translateY(-2px);
	box-shadow:0 6px 16px var(--brand-glow);
}
.gallery-img-horiz{
	width:100%;
	object-fit:cover;
	border-radius:18px;
}
.gallery-img-vert{
	width:100%;
	aspect-ratio:8/13;
	object-fit:cover;
	border-radius:18px;
}
.gallery-img-vert-trio{
	width:100%;
	height:390px;
	object-fit:cover;
	border-radius:18px;
}
.btn-filter{
	background:#ffffff;
	color:#64748b;
	border:1px solid #e2e8f0 !important;
	font-weight:700;
	padding:10px 24px;
	transition:all 0.3s ease;
	border-radius:30px;
	box-shadow:0 2px 8px rgba(0,0,0,0.03);
}
.btn-filter.active, .btn-filter:hover{
	background:var(--brand-primary);
	color:white;
	border-color:var(--brand-primary) !important;
	box-shadow:0 6px 18px rgba(2, 132, 199, 0.35);
	transform:translateY(-2px);
}
.project-block{
	background:var(--gradient-card);
	padding:28px;
	transition:all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	position:relative;
	overflow:hidden;
}
/* Modal styling */
.modal-content{
	background-color:#0b0f19;
	border:1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius:24px;
	color:white;
	box-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.7);
	overflow:hidden;
}
.modal-header{
	border-bottom:1px solid rgba(255, 255, 255, 0.08) !important;
	padding:20px 28px;
}
.contact-card-box{
}
.form-control, .form-select{
	border:1px solid #e2e8f0 !important;
	box-shadow:none !important;
	padding:14px 18px;
	border-radius:12px;
	transition:all 0.25s ease;
}
.form-control:focus, .form-select:focus{
	background-color:#ffffff !important;
	border-color:var(--brand-primary) !important;
	box-shadow:0 0 0 4px rgba(2, 132, 199, 0.15) !important;
}
/* Contact Icon Pills */
.contact-icon-pill{
	width:54px;
	height:54px;
	background:rgba(2, 132, 199, 0.1);
	color:var(--brand-primary);
	border-radius:16px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.4rem;
	flex-shrink:0;
	transition:all 0.3s ease;
}
.contact-item:hover .contact-icon-pill{
	background:var(--gradient-accent);
	color:#ffffff;
	transform:scale(1.1) rotate(-5deg);
	box-shadow:0 6px 16px var(--brand-glow);
}
.back-to-top{
	position:fixed;
	bottom:24px;
	right:24px;
	width:50px;
	height:50px;
	background:#1a1a1a;
	color:white;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	z-index:1000;
	opacity:0;
	visibility:hidden;
	transition:all 0.3s ease;
	text-decoration:none;
}
.back-to-top.visible{
	opacity:1;
	visibility:visible;
}
.back-to-top:hover{
	transform:translateY(-5px);
	color:white;
	box-shadow:0 12px 25px rgba(2, 132, 199, 0.6);
}
.brand-logo-card{
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	color:#334155;
	font-weight:700;
	transition:all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	height:90px;
	position:relative;
	overflow:hidden;
} 
.brand-logo-card img{
	max-height:100%;
	max-width:100%;
	object-fit:contain; 
} 
.brand-badge-text{
	font-size:1.05rem;
	letter-spacing:-0.2px;
	display:flex;
	align-items:center;
	gap:8px;
}
.brand-badge-text i{
	font-size:1.3rem;
	color:var(--brand-primary);
}
.brand-link-icon{
	position:absolute;
	top:8px;
	right:8px;
	font-size:0.75rem;
	color:#94a3b8;
	opacity:0;
	transition:opacity 0.25s ease;
}
.brand-logo-card:hover .brand-link-icon{
	opacity:1;
	color:var(--brand-primary);
}
.brands-container{
	display:block;
	position:relative;
	text-align:center;
}
.brands-container > div{
	display:inline-block;
	vertical-align:middle;
	margin:10px;	
	padding:10px;
}

.the_content{
	line-height:1.5;
	color:#555;
}
.the_content p{
	font-size:1rem;
}
.the_content h1{}
.the_content h2{}
.the_content h3{}
.the_content h4{}
.the_content h5{}
.the_content h6{}
.the_content h1,
.the_content h2,
.the_content h3,
.the_content h4,
.the_content h5,
.the_content h6{margin-bottom:1rem}

.company_data_info{margin:1rem 0;}
.company_data_info strong,
.company_data_info span{white-space:nowrap}
.company_name strong{font-size:1.5rem;}
.company_legal{color:silver}
.company_contatti{}
.company_socials{font-size:2rem}
.company_data_info a{color:silver}
.company_data_info a:hover{color:white}


footer a{color:#eee}
footer a:hover,footer a.active{color:#fff}