/**
 * JobUp Ã¢â‚¬â€ stili dal prototipo HTML + reset conflitti WordPress.
 *
 * @package GDS-Fullcreative
 */

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

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

body {
	margin: 0;
	font-family: 'Inter', sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body img, body svg, body video, body canvas {
	max-width: 100%;
	height: auto;
}

body img, body svg {
	display: inline;
	vertical-align: middle;
}

body a {
	text-decoration: none;
	color: inherit;
}

.custom-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.custom-logo {
	max-height: 2.5rem;
	width: auto;
}

#primary-menu, .gds-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

#primary-menu li, .gds-footer-menu li {
	margin: 0;
	padding: 0;
}

#page.site, .site-content, #content.site-content {
	max-width: none;
	width: 100%;
	padding: 0;
	margin: 0;
}

/* Homepage senza sezioni: area centrale navy, footer in fondo alla viewport. */
html:has(body.gds-home-empty),
body.gds-home-empty {
	background-color: #0F172A;
}

body.gds-home-empty #content.site-content {
	flex-grow: 1;
	background-color: #0F172A;
}

body.gds-home-empty #primary {
	flex-grow: 0;
}

.hero-anchor {
	width: 1px;
	background-color: #2563EB;
	height: 160px;
	transform-origin: top;
	animation: gds-scale-y 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes gds-scale-y {
	0% { transform: scaleY(0); opacity: 0; }
	100% { transform: scaleY(1); opacity: 1; }
}

@keyframes gds-fade-in {
	0% { opacity: 0; transform: translateY(10px); }
	100% { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
	animation: gds-fade-in 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	opacity: 0;
}

.reveal {
	opacity: 0;
	transform: translateY(40px);
	transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
	opacity: 1;
	transform: translateY(0);
}

.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0F172A; }
::-webkit-scrollbar-thumb { background: #1E293B; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #2563EB; }

.nav-link-underline { position: relative; }

.nav-link-underline::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 0;
	height: 1.5px;
	background-color: #E2E8F0;
	transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.nav-link-underline:hover::after,
.nav-link-underline.active::after { width: 100%; }

.nav-link-underline.active::after { background-color: #2563EB; }

.gds-cf7 .wpcf7 form { margin: 0; }
.gds-cf7 .wpcf7-form-control-wrap { display: block; }
.gds-cf7 label { display: block; font-size: 0.8125rem; font-weight: 600; color: #64748B; margin-bottom: 0.5rem; }
.gds-cf7 input[type="text"], .gds-cf7 input[type="email"], .gds-cf7 input[type="tel"], .gds-cf7 input[type="url"], .gds-cf7 select, .gds-cf7 textarea {
	width: 100%; background-color: #F8FAFC; border: 1.5px solid #E2E8F0; border-radius: 10px; padding: 14px 18px;
	font-size: 0.9375rem; color: #1E293B; font-family: 'Inter', sans-serif; outline: none;
}
.gds-cf7 input:focus, .gds-cf7 select:focus, .gds-cf7 textarea:focus {
	border-color: #2563EB; background-color: #FFFFFF; box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.08);
}
.gds-cf7 textarea { resize: vertical; min-height: 140px; }
.gds-cf7 .wpcf7-submit {
	width: 100%; background: linear-gradient(135deg, #2563EB 0%, #7C3AED 100%); color: #fff; border: none;
	border-radius: 12px; padding: 1rem 1.5rem; font-weight: 700; cursor: pointer;
}
.gds-cf7-placeholder {
	padding: 1.5rem; border: 1.5px dashed #E2E8F0; border-radius: 12px; color: #64748B; background: #F8FAFC;
}

.timeline-item { position: relative; padding-left: 2.5rem; }
.timeline-item::before {
	content: ''; position: absolute; left: 0.625rem; top: 2.5rem; bottom: -0.75rem; width: 1.5px;
	background: linear-gradient(to bottom, #2563EB, transparent);
}
.timeline-item:last-child::before { display: none; }
.timeline-dot {
	position: absolute; left: 0; top: 0.25rem; width: 1.25rem; height: 1.25rem; border-radius: 50%;
	border: 2px solid #2563EB; background: #FFFFFF; display: flex; align-items: center; justify-content: center;
}
.timeline-dot.active-dot { background: #2563EB; }
.why-card { transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease; }
.why-card:hover { transform: translateY(-5px); box-shadow: 0 24px 48px -12px rgba(15, 23, 42, 0.14); }
.contact-card { transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease; }
.contact-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -12px rgba(15, 23, 42, 0.12); }

.gds-page-content { max-width: 48rem; }
.gds-page-content > * + * { margin-top: 1.5rem; }
.gds-page-content h2, .gds-page-content h3 { color: #0F172A; font-weight: 700; }
.gds-page-content p { color: #64748B; line-height: 1.75; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute; width: 1px;
}
.skip-link { position: absolute; left: -9999px; z-index: 100000; }
.skip-link:focus {
	clip: auto; clip-path: none; height: auto; width: auto; margin: 0; padding: 0.5rem 1rem;
	position: fixed; top: 0; left: 0; background: #2563EB; color: #fff;
}