/*
Template Name: LaunchPage - Fibernet Edition
Author URI: https://themeforest.net/user/epic-themes
Version: 2.0 - Restyling brand Fibernet Srl
*/

/* ========================================================== */
/*            FIBERNET BRAND VARIABLES                        */
/* ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700;800&display=swap');

:root {
	/* New Dark Tech Palette - Blue Version */
	--fn-blue: #007bff;
	/* Deep Electric Blue */
	--fn-navy: #000000;
	/* Deep Black */
	--fn-red: #ff3b30;
	--fn-cyan: #007bff;
	/* Replaced with Blue per user request */
	--fn-text: #ffffff;
	--fn-text-dim: #a0a0a0;
	--fn-bg-dark: #000000;
	--fn-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ========================================================== */
/*            FIBERNET KEYFRAME ANIMATIONS                    */
/* ========================================================== */

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(28px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes shimmer {
	0% {
		background-position: -200% center;
	}

	100% {
		background-position: 200% center;
	}
}

@keyframes pulseGlow {

	0%,
	100% {
		box-shadow: 0 0 0 0 rgba(229, 47, 55, 0.5);
	}

	50% {
		box-shadow: 0 0 0 14px rgba(229, 47, 55, 0);
	}
}

@keyframes pulseGlowCyan {

	0%,
	100% {
		box-shadow: 0 0 0 0 rgba(42, 175, 223, 0.5);
	}

	50% {
		box-shadow: 0 0 0 14px rgba(42, 175, 223, 0);
	}
}

@keyframes accentSlide {
	from {
		width: 0;
	}

	to {
		width: 60px;
	}
}

@keyframes floatFiber {

	0%,
	100% {
		transform: translateY(0px);
	}

	50% {
		transform: translateY(-8px);
	}
}

.brand-red {
	color: var(--fn-red) !important;
}

.brand-blue {
	color: var(--fn-blue) !important;
}

.brand-cyan {
	color: var(--fn-cyan) !important;
}

/* --- TABLE OF CONTENT

01. GENERAL LAYOUT
02. MENU-NAV
03. FOOTER
04. HOME
05. TEAM
06. FEATURES
07. GALLERY
08. PRICING
09. CONTACT
10. OTHER ELEMENTS
		a. Buttons
		b. Testimonials
		c. Benefits List
		d. Fun Facts
		e. Dropcaps Features
11. MEDIA QUERIES

--- */

/* ========================================================== */
/* 			               01. GENERAL LAYOUT                 */
/* ========================================================== */

ul {
	padding: 0;
}

ul,
ol {
	list-style: none;
	list-style-image: none;
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: 14px;
	line-height: 24px;
	margin-bottom: 20px;
}

ul li,
ol li {
	font-size: 17px;
	line-height: 28px;
	font-family: 'Montserrat', sans-serif;
	list-style-type: none;
}

ul li i {
	vertical-align: middle;
	padding-right: 5px;
}

p {
	font-size: 17px;
	line-height: 28px;
	font-weight: 400;
	color: #fff;
	margin-bottom: 20px;
	font-family: 'Montserrat', sans-serif;
}

a,
a:hover,
a:focus,
a:active,
a:visited {
	text-decoration: none;
	outline: 0;
}

a:hover {
	color: #017df7;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Montserrat', sans-serif;
	line-height: 1.2;
	margin-top: 0;
	margin-bottom: 20px;
	color: #fff;
	font-weight: 700;
}

h1 {
	font-size: 45px;
}

h2 {
	font-size: 38px;
}

h3 {
	font-size: 32px;
}

h4 {
	font-size: 26px;
}

h5 {
	font-size: 20px;
}

h6 {
	font-size: 18px;
}

h2,
h3 {
	position: relative;
}

/* Accent line ciana sotto h2 titoli di sezione */
h2.section-title::after {
	content: '';
	display: block;
	width: 54px;
	height: 3px;
	background: linear-gradient(90deg, var(--fn-cyan), var(--fn-blue));
	border-radius: 2px;
	margin: 10px auto 0;
	animation: accentSlide 0.6s ease both;
}

.text-left h2.section-title::after,
[style*='text-align: left'] h2.section-title::after {
	margin: 10px 0 0;
}

p.section-subtitle {
	font-size: 18px;
}

p.section-subtitle.white {
	color: #ffffff;
}

p.section-subtitle.black {
	color: #fff;
}

iframe {
	max-width: 100%;
	border: none;
}

.iframe-youtube {
	position: relative;
	margin-top: 30px;
	z-index: 100;
}

.iframe-youtube iframe {
	padding: 10px 10px;
	box-shadow: 0 15px 36px rgba(0, 0, 0, 0.20);
	background-color: #fff;
	webkit-border-radius: 8px 8px;
	-moz-border-radius: 8px 8px;
	border-radius: 8px 8px;
	z-index: 100;
}

.popup-gallery:hover .video-popup-image {
	opacity: 1;

}

.video-play-icon {
	position: absolute;
	z-index: 100;
	top: 50%;
	left: 50%;
	margin-top: -45px;
	margin-left: -45px;
	width: 90px;
	height: 90px;
	line-height: 90px;
	text-align: center;
	font-size: 40px;
	color: #007bff;
	background-color: rgba(0, 123, 255, 0.70);
	border-radius: 50% 50%;
	display: inline-block;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.video-play-icon:hover {
	background-color: rgba(0, 123, 255, 0.99);
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.video-play-icon i {
	color: #fff;
}

.white-text {
	color: #fff;
}

.red {
	color: #e52f37;
}

.strong {
	font-weight: bold;
}

.section-bg-1 {
	background: url(../images/bg10.jpg);
	background-position: top center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	width: 100%;
	position: relative;
	padding: 110px 0;
}

.section-bg-2 {
	background: url(../images/bg10.jpg);
	background-position: top center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	width: 100%;
	position: relative;
	padding: 120px 0;
}

.section-bg-3 {
	background: url(../images/bg10.jpg);
	background-position: top center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	width: 100%;
	position: relative;
	padding: 140px 0;
}

.section-bg-overlay {
	width: 100%;
	background: linear-gradient(150deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 0.9) 100%);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

.section-bg-1>.container,
.section-bg-2>.container,
.section-bg-3>.container {
	position: relative;
	z-index: 5;
}

.section-white {
	background: #000000;
	padding: 90px 0 100px 0;
}

.section-grey {
	background: #13151d;
	padding: 90px 0 100px 0;
	position: relative;
	border-top: 1px solid #1a1d24;
	border-bottom: 1px solid #1a1d24;
}

/* Sottile pattern network su section-grey */
.section-grey::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image:
		linear-gradient(rgba(42, 175, 223, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(42, 175, 223, 0.04) 1px, transparent 1px);
	background-size: 40px 40px;
	pointer-events: none;
	z-index: 0;
}

.section-grey>* {
	position: relative;
	z-index: 1;
}

.section-grey>.container {
	position: relative;
	z-index: 1;
}

.section-red {
	background: #e52f37;
	padding: 90px 0 100px 0;
}

.section-white.no-padding,
.section-grey.no-padding,
.section-red.no-padding {
	padding: 0;
}

.section-white.medium-paddings,
.section-grey.medium-paddings,
.section-red.medium-paddings {
	padding: 60px 0;
}

.section-white.small-paddings,
.section-grey.small-paddings,
.section-red.small-paddings {
	padding: 30px 0;
}

.section-white.xsmall-paddings,
.section-grey.xsmall-paddings,
.section-red.xsmall-paddings {
	padding: 10px 0;
}

.section-white.small-padding-top,
.section-grey.small-padding-top,
.section-red.small-padding-top {
	padding: 30px 0 90px 0;
}

.section-white.small-padding-bottom,
.section-grey.small-padding-bottom,
.section-red.small-padding-bottom {
	padding: 90px 0 70px 0;
}

.section-white.no-padding-bottom,
.section-grey.no-padding-bottom,
.section-red.no-padding-bottom {
	padding: 90px 0 0 0;
}

.small-col-inside {
	margin: 90px 0;
	max-width: 575px;
	padding-left: 55px;
}

.width-100 {
	width: 100%;
}

.box-shadow {
	border-radius: 8px;
	box-shadow: 0px 8px 40px 0 rgba(0, 0, 0, 0.15);
}

.image-shadow {
	border-radius: 8px 8px;
	box-shadow: 10px 12px 40px rgba(0, 0, 0, 0.4);
}

.portrait-responsive {
	max-height: 600px;
	/* Limit vertical height on Windows/Desktop */
	width: auto !important;
	max-width: 100%;
	margin: 0 auto;
	display: block;
	object-fit: contain;
	border-radius: 12px;
}

@media (max-width: 768px) {
	.portrait-responsive {
		max-height: 450px;
		/* Optimized for mobile screens */
		width: auto !important;
		margin: 20px auto;
	}
}

/* margin and padding classes */

.margin-right-15 {
	margin-right: 15px;
}

.margin-left-15 {
	margin-left: 15px;
}

.margin-right-25 {
	margin-right: 25px !important;
}

.margin-left-25 {
	margin-left: 25px !important;
}

.margin-left-20 {
	margin-left: 20px !important;
}

.margin-top-120 {
	margin-top: 120px !important;
}

.margin-top-110 {
	margin-top: 110px !important;
}

.margin-top-100 {
	margin-top: 100px !important;
}

.margin-top-90 {
	margin-top: 90px !important;
}

.margin-top-80 {
	margin-top: 80px !important;
}

.margin-top-70 {
	margin-top: 70px !important;
}

.margin-top-60 {
	margin-top: 60px !important;
}

.margin-top-50 {
	margin-top: 50px !important;
}

.margin-top-40 {
	margin-top: 40px !important;
}

.margin-top-35 {
	margin-top: 35px !important;
}

.margin-top-30 {
	margin-top: 30px !important;
}

.margin-top-20 {
	margin-top: 20px !important;
}

.margin-top-10 {
	margin-top: 10px !important;
}

.margin-top-5 {
	margin-top: 5px !important;
}

.margin-bottom-0 {
	margin-bottom: 0px !important;
}

.margin-bottom-5 {
	margin-bottom: 5px;
}

.margin-bottom-10 {
	margin-bottom: 10px !important;
}

.margin-bottom-20 {
	margin-bottom: 20px !important;
}

.margin-bottom-30 {
	margin-bottom: 30px !important;
}

.margin-bottom-40 {
	margin-bottom: 40px !important;
}

.margin-bottom-50 {
	margin-bottom: 50px !important;
}

.margin-bottom-60 {
	margin-bottom: 60px !important;
}

.margin-bottom-70 {
	margin-bottom: 70px !important;
}

.margin-bottom-80 {
	margin-bottom: 80px !important;
}

.margin-bottom-100 {
	margin-bottom: 100px !important;
}

.margin-bottom-120 {
	margin-bottom: 120px !important;
}

.margin-bottom-130 {
	margin-bottom: 120px !important;
}

.margin-bottom-140 {
	margin-bottom: 140px !important;
}

.padding-top-0 {
	padding-top: 0px !important;
}

.padding-top-10 {
	padding-top: 10px !important;
}

.padding-top-20 {
	padding-top: 20px !important;
}

.padding-top-25 {
	padding-top: 25px !important;
}

.padding-top-30 {
	padding-top: 30px !important;
}

.padding-top-35 {
	padding-top: 35px !important;
}

.padding-top-40 {
	padding-top: 40px !important;
}

.padding-top-45 {
	padding-top: 45px !important;
}

.padding-top-50 {
	padding-top: 50px !important;
}

.padding-top-60 {
	padding-top: 60px !important;
}

.padding-top-70 {
	padding-top: 70px !important;
}

.padding-top-80 {
	padding-top: 80px !important;
}

.padding-top-100 {
	padding-top: 100px !important;
}

.padding-top-120 {
	padding-top: 120px !important;
}

.padding-top-150 {
	padding-top: 150px !important;
}

.padding-bottom-70 {
	padding-bottom: 70px !important;
}

.padding-bottom-60 {
	padding-bottom: 60px !important;
}

.padding-bottom-50 {
	padding-bottom: 50px !important;
}

.padding-bottom-40 {
	padding-bottom: 40px !important;
}

.padding-bottom-30 {
	padding-bottom: 30px !important;
}

.padding-bottom-20 {
	padding-bottom: 20px !important;
}

.padding-bottom-10 {
	padding-bottom: 10px !important;
}

.padding-bottom-0 {
	padding-bottom: 0px !important;
}

.margin-top-0 {
	margin-top: 0px !important;
}

.padding-left-20 {
	padding-left: 20px;
}

/* ========================================================== */
/* 			               02. MENU-NAV                       */
/* ========================================================== */

.navbar-brand {
	font-family: 'Montserrat', sans-serif;
	font-size: 28px;
	font-weight: 700;
	color: #e52f37;
}

.navbar-brand:hover {
	color: #e52f37;
}

.navbar-fixed-top.opaque .navbar-brand {
	color: #e52f37;
}

.navbar-fixed-top.opaque .navbar-brand:hover {
	color: #e52f37;
}

.navbar {
	width: 100%;
	z-index: 9999;
	padding-top: 20px;
	padding-bottom: 20px;
}

.navbar-toggler {
	border: 1px solid #232f6c;
}

.navbar-toggler-icon {
	width: 1.3em;
	height: 1.3em;
}

.navbar-toggler-icon i {
	color: #232f6c;
	vertical-align: middle;
}

.navbar-fixed-top {
	position: absolute !important;
	background-color: transparent;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	transition: all 0.3s ease-in-out;
	padding: 15px 0;
}

.navbar-fixed-top.opaque {
	position: fixed !important;
	top: 0;
	margin-top: 0;
	background: rgba(0, 0, 0, 0.9) !important;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 4px 30px rgba(0, 0, 0, 0.7) !important;
	padding: 10px 0;
	transition: var(--fn-transition);
}

.navbar-fixed-top .navbar-brand,
.navbar-fixed-top .logo {
	max-height: 45px;
	transition: var(--fn-transition);
}

.navbar-fixed-top.opaque .logo {
	max-height: 38px;
}

.navbar-fixed-top .navbar-nav>li>a {
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 500;
	letter-spacing: 1.5px;
	padding: 10px 25px !important;
	font-family: 'Montserrat', sans-serif;
	text-transform: uppercase;
	transition: opacity 0.3s ease;
}

.navbar-fixed-top .navbar-nav>li>a:hover {
	opacity: 0.7;
}

/* Escludo linea sotto se presente per pulizia */
.navbar-fixed-top .navbar-nav>li>a::after {
	display: none !important;
}

.navbar-fixed-top .navbar-nav>li>a:hover,
.navbar-fixed-top.opaque .navbar-nav>li>a:hover,
.navbar-fixed-top.opaque .navbar-nav .current a {
	color: var(--fn-cyan) !important;
	opacity: 1;
}

/* Unified Header CTA (Contattaci!) */
.navbar-fixed-top .navbar-nav>li>a.discover-btn,
.navbar-fixed-top.opaque .navbar-nav>li>a.discover-btn {
	border: none !important;
	color: #fff !important;
	background: linear-gradient(130deg, #e52f37, #c0212a) !important;
	border-radius: 23px !important;
	padding: 12px 18px !important;
	margin-left: 10px;
	margin-right: 15px;
	font-family: 'Montserrat', sans-serif;
	box-shadow: 0 4px 15px rgba(229, 47, 55, 0.4) !important;
	animation: pulseGlow 2.5s infinite !important;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
	text-shadow: none !important;
}

.navbar-fixed-top .navbar-nav>li>a.discover-btn:hover,
.navbar-fixed-top.opaque .navbar-nav>li>a.discover-btn:hover {
	color: #fff !important;
	background: #ff4d52 !important;
	box-shadow: 0 0 30px rgba(229, 47, 55, 0.8) !important;
	transform: translateY(-2px) scale(1.08) !important;
	animation: none !important;
	border: none !important;
}

/* ========================================================== */
/* 			                03. FOOTER                        */
/* ========================================================== */

.footer {
	background: #0d0f14;
	padding: 100px 0 60px 0;
	border-top: 1px solid #1a1d24;
	color: #fff;
	position: relative;
	overflow: hidden;
}

.footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image:
		linear-gradient(rgba(42, 175, 223, 0.03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(42, 175, 223, 0.03) 1px, transparent 1px);
	background-size: 50px 50px;
	pointer-events: none;
	z-index: 0;
}

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

/* Rimozione linea gradiente per match screenshot */
.navbar-fixed-top.opaque::after {
	display: none !important;
}


.footer p {
	margin-bottom: 12px;
	line-height: 26px;
	color: #999;
	font-weight: 400;
	font-size: 14.5px;
}

.footer a {
	color: #fff;
	font-weight: 600;
	transition: var(--fn-transition);
}

.footer a:hover {
	color: var(--fn-blue);
}

.footer p>a {
	font-size: 15px;
	color: var(--fn-blue);
	text-decoration: none;
	font-weight: 700;
}

.footer p>a:hover {
	color: #fff;
	text-decoration: underline;
}

.footer span.template-name {
	color: var(--fn-blue);
	font-weight: 700;
}

span.template-name {
	font-weight: bold;
}

a.footer-links {
	display: block;
	font-size: 17px;
	margin-bottom: 2px;
	color: #454545;
}

a.footer-links:hover {
	color: #e52f37;
	text-decoration: underline;
	transition: all .5s ease-in-out;
}

/* Footer Social Icons */
ul.footer_social {
	margin: 0;
	padding: 0;
}

ul.footer_social li {
	display: inline-block;
	margin: 0;
	line-height: 100% !important;
}

ul.footer_social li a i {
	display: inline-block;
	margin: 0 8px;
	padding: 0;
	font-size: 26px !important;
	line-height: 26px !important;
	color: #1e90ff;
	transition: all .5s ease-in-out;
	-moz-transition: all .25s ease-in-out;
	-webkit-transition: all .25s ease-in-out;
}

ul.footer_social li a i.fa-twitter {
	color: #4099ff;
}

ul.footer_social li a i.fa-pinterest {
	color: #C92228;
}

ul.footer_social li a i.fa-facebook-square {
	color: #3b5998;
}

ul.footer_social li a i.fa-instagram {
	color: #8a3ab9;
}

ul.footer_social li a i.fa-skipe {
	color: #00aff0;
}

ul.footer_social li a i.fa-dribble {
	color: #ea4c89;
}

ul.footer_social li a i:hover {
	color: #e52f37 !important;
}

/* ========================================================== */
/* 			               04. HOME                           */
/* ========================================================== */

.home-section {
	position: relative;
	z-index: 999;
	padding-top: 140px;
	padding-bottom: 110px;
	background: url(../images/bg10.jpg) top center no-repeat;
	/* 1920 x 1150 */
	background-size: cover;
}

.home-section-overlay {
	width: 100%;
	background: radial-gradient(circle at center, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.95) 100%);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}

/* Pattern fibra ottica decorativo sull'hero */
.home-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: radial-gradient(circle, rgba(42, 175, 223, 0.12) 1px, transparent 1px);
	background-size: 32px 32px;
	z-index: 2;
	pointer-events: none;
}

.home-section>.container {
	position: relative;
	z-index: 3;
}

.home-section h1 {
	margin-bottom: 20px;
	line-height: 1.2;
	color: #fff;
	text-shadow: 2px 2px 12px rgba(13, 27, 75, 0.6);
	animation: fadeInUp 0.8s ease both;
}

.home-section h1 span {
	color: var(--fn-cyan);
	text-shadow: 0 0 20px rgba(42, 175, 223, 0.5);
}

.home-section p.hero-text {
	margin-bottom: 35px;
	font-size: 20px;
	line-height: 30px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.92);
	text-shadow: 1px 1px 6px rgba(13, 27, 75, 0.5);
	animation: fadeInUp 0.8s ease 0.2s both;
}

/* -----  Hero Video PopUp ----- */
.popup-gallery-wrapper {
	position: relative;
	margin-top: 25px;
}

.hero-gallery {
	float: left;
}

.video-icon {
	float: left;
	width: 60px;
	height: 60px;
	background: #fff;
	border: 2px solid #fff;
	border-radius: 50% 50%;
	display: inline-block;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.video-icon:before {
	content: '';
	width: 60px;
	height: 60px;
	position: absolute;
	border: 1px solid #fff;
	border-radius: 100%;
	left: 50%;
	margin-left: -30px;
	bottom: 10%;
	margin-bottom: -6px;
	-webkit-animation: doublePulsation 1.9s ease infinite;
	animation: doublePulsation 1.9s ease infinite;
	z-index: 0;
}

@-webkit-keyframes doublePulsation {
	0% {
		-webkit-transform: scale(1.0, 1.0);
		opacity: 0.0;
	}

	50% {
		opacity: 0.55;
	}

	100% {
		-webkit-transform: scale(1.3, 1.3);
		opacity: 0.0;
	}
}

@keyframes doublePulsation {
	0% {
		-webkit-transform: scale(1.0, 1.0);
		opacity: 0.0;
	}

	50% {
		opacity: 0.55;
	}

	100% {
		-webkit-transform: scale(1.3, 1.3);
		opacity: 0.0;
	}
}

.video-icon:hover {
	background: transparent;
}

.video-icon i {
	font-size: 26px;
	line-height: 56px;
	color: #e52a3d;
	margin-left: 18px;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.video-icon:hover i {
	color: #fff;
}

.popup-video-text {
	float: left;
	padding-top: 15px;
	padding-left: 20px;
	font-size: 18px;
	line-height: 28px;
	color: #fff;
	text-decoration: underline;
	text-shadow: 1px 1px #656565;
}

/* -----  Register ----- */
.register-form-wrapper {
	background: rgba(15, 15, 15, 0.6);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.1);
	padding: 40px;
	border-radius: 20px;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
	position: relative;
	z-index: 10;
	margin-top: 25px;
	overflow: hidden;
}

/* Linea decorativa colorata in cima al form */
.register-form-wrapper::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--fn-cyan), var(--fn-red));
	border-radius: 20px 20px 0 0;
}

.register-form-wrapper h3 {
	margin-bottom: 5px;
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	text-shadow: 0 2px 8px rgba(13, 27, 75, 0.5);
}

.register-form-wrapper p {
	margin-bottom: 25px;
	font-size: 17px;
	color: rgba(255, 255, 255, 0.85);
}

/* Input con glow ciano al focus */
.register-form-wrapper .form-control {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 10px;
	height: 52px;
	color: #fff;
	font-size: 15px;
	padding-left: 15px;
	margin-bottom: 20px;
	transition: var(--fn-transition);
}

.register-form-wrapper .form-control::placeholder {
	color: rgba(255, 255, 255, 0.6);
}

.register-form-wrapper .form-control:focus {
	background: rgba(255, 255, 255, 0.1);
	border-color: var(--fn-cyan);
	box-shadow: 0 0 15px rgba(0, 229, 255, 0.2);
	outline: none;
}

input.register-input,
select.register-input {
	width: 100% !important;
	height: 52px !important;
	padding-left: 11% !important;
	padding-right: 5% !important;
	margin-bottom: 15px !important;
	color: #555 !important;
	border: 1px solid #f1f1f1 !important;
	background-color: #f9f9f9 !important;
	font-size: 16px !important;
	border-radius: 5px 5px 5px 5px !important;
}

input.name-input {
	background: url('../images/input-user.png') no-repeat 12px 15px;
}

input.name-email {
	background: url('../images/input-envelope.png') no-repeat 12px 15px;
}

select.register-input {
	background: url('../images/input-select.png') no-repeat 12px 15px;
}

input.register-submit {
	background: #e52f37;
	border: none;
	color: #fff;
	letter-spacing: 1px;
	cursor: pointer;
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	width: 100%;
	max-width: 535px;
	padding: 16px 0;
	text-transform: uppercase;
	-webkit-border-radius: 3px 3px;
	-moz-border-radius: 3px 3px;
	border-radius: 3px 3px;
	transition: all .50s ease-in-out;
	-moz-transition: all .50s ease-in-out;
	-webkit-transition: all .50s ease-in-out;
}

input.register-submit:hover {
	background: #2745B3;
	transition: all .50s ease-in-out;
	-moz-transition: all .50s ease-in-out;
	-webkit-transition: all .50s ease-in-out;
}

#register-form input.register-input:focus,
#register-form select.register-input:focus {
	border-color: #656565 !important;
	color: #454545 !important;
	outline: none;
}

#register-form input.register-input:focus,
#register-form select.register-input:focus {
	border-color: #656565 !important;
	color: #454545 !important;
	outline: none;
}

p.register_success_box {
	display: inline-block;
	color: #2745B3;
	border: 1px solid #2745B3;
	padding: 25px 25px;
	font-size: 19px;
	text-shadow: none;
	font-style: italic;
	border-radius: 8px 8px;
	margin: 15px 0;
}

p.register-form-terms {
	margin: 10px 0 5px 0;
	font-size: 14px;
	color: #7c8595;
	text-shadow: none;
}

input.white-input::-webkit-input-placeholder,
select.white-input::-webkit-input-placeholder {
	/* WebKit browsers */
	color: #656565;
}

input.white-input:-moz-placeholder,
select.white-input:-moz-placeholder {
	/* Mozilla Firefox 4 to 18 */
	color: #656565;
}

input.white-input::-moz-placeholder,
select.white-input::-moz-placeholder {
	/* Mozilla Firefox 19+ */
	color: #656565;
}

input.white-input:-ms-input-placeholder,
select.white-input:-ms-input-placeholder {
	/* Internet Explorer 10+ */
	color: #656565;
}

/* Pertners */
.partners-section {
	padding: 40px 0 20px 0;
	background-color: #fff;
}

.partners img.partners {
	opacity: 0.4;
	margin: 10px 15px;
	max-height: 55px;
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-ms-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
}

.partners img.partners:hover {
	opacity: 0.8;
}

.partners-title {
	font-size: 18px;
	line-height: 78px;
	display: inline-block;
	margin-right: 15px;
}

/* ========================================================== */
/* 			               05. TEAM                           */
/* ========================================================== */

.team-item {
	padding: 25px 25px 35px 25px;
	background-color: #fff;
	border: 1px solid #f0f0f0;
	text-align: center;
	transition: var(--fn-transition);
	border-radius: 12px;
	box-shadow: 0 10px 25px rgba(13, 27, 75, 0.05);
	margin-bottom: 20px;
}

.team-item:hover {
	transform: translateY(-8px);
	box-shadow: 0 15px 35px rgba(13, 27, 75, 0.1);
}

.team-item h3 {
	margin: 20px 0 5px 0 !important;
	color: var(--fn-blue);
	font-size: 20px;
	font-weight: 700;
	font-family: 'Montserrat', sans-serif;
	text-transform: none;
}

.team-info {
	display: block;
	margin-bottom: 15px;
}

.team-info p {
	color: var(--fn-cyan);
	font-style: normal;
	font-weight: 600;
	margin-bottom: 0;
}

.team-info::after {
	background: linear-gradient(90deg, var(--fn-cyan), var(--fn-blue));
	display: block;
	content: "";
	width: 40px;
	height: 3px;
	margin: 12px auto 0;
	border-radius: 2px;
}

.team-img {
	border-radius: 8px 8px 0 0;
}

/* ========================================================== */
/* 			                06. FEATURES                      */
/* ========================================================== */

.services-wrapper {
	position: relative;
}

.main-services {
	position: relative;
	margin: 10px 5px;
	overflow: hidden;
	text-align: center;
	transition: var(--fn-transition);
	background: rgba(255, 255, 255, 0.03);
	border-radius: 18px;
	padding: 40px 25px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(15px);
}

.main-services.blue {
	border-color: rgba(0, 123, 255, 0.3);
}

.main-services:hover {
	transform: translateY(-12px);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7);
	border-color: var(--fn-cyan);
}

.main-services img {
	width: 100%;
	max-width: 200px;
	margin-bottom: 10px;
	border-radius: 50%;
}

.main-services h3 {
	margin-bottom: 5px;
}

.main-services h3 a {
	font-size: 22px;
	font-weight: 700;
	color: var(--fn-blue);
}

.main-services h4 {
	margin-bottom: 12px;
	font-size: 20px;
	font-weight: 800;
	color: #fff;
	letter-spacing: 1px;
}

.main-services p {
	padding: 0 15px;
	margin-bottom: 15px;
	color: var(--fn-text-dim);
	line-height: 1.6;
}

.main-services i {
	margin-bottom: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 38px;
	line-height: 1;
	width: 80px;
	height: 80px;
	color: #fff;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--fn-blue), var(--fn-cyan));
	box-shadow: 0 6px 18px rgba(42, 175, 223, 0.30);
	transition: var(--fn-transition);
}

.main-services:hover i {
	transform: scale(1.1) rotate(-5deg);
	box-shadow: 0 8px 24px rgba(42, 175, 223, 0.45);
}

.main-services.blue i {
	background: linear-gradient(135deg, var(--fn-blue), var(--fn-cyan));
	box-shadow: 0 6px 18px rgba(35, 47, 108, 0.30);
}

.bottom-footer {
	background: #050505;
	padding: 25px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.footer_p {
	margin-bottom: 0px;
	color: var(--fn-text-dim);
	font-size: 14px;
}

blockquote {
	font-size: 16px;
	color: #4285f4;
	border-left: 2px solid #4285f4;
}

.faq-box {
	margin: 30px 0 0 0;
	transition: all 1s;
}

.faq-box h4 {
	font-size: 22px;
	margin-bottom: 10px;
}

.faq-box h5 {
	margin-bottom: 7px;
}

.faq-box p {
	color: var(--fn-text-dim);
}

/* Features */
.feature-box {
	overflow: hidden;
	margin: 30px 0 0 0;
	padding: 30px;
	background: rgba(255, 255, 255, 0.03);
	border-radius: 20px;
	transition: var(--fn-transition);
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.feature-box:hover {
	transform: translateY(-8px);
	box-shadow: 0 15px 35px rgba(0, 229, 255, 0.15);
	border-color: rgba(0, 229, 255, 0.3);
}

.feature-box i {
	float: left;
	font-size: 30px;
	line-height: 1;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--fn-cyan);
	background: rgba(42, 175, 223, 0.08);
	border-radius: 14px;
	transition: var(--fn-transition);
	border: 1px solid rgba(42, 175, 223, 0.15);
}

.feature-box:hover i {
	background: var(--fn-cyan);
	color: #fff;
	transform: scale(1.1) rotate(5deg);
	box-shadow: 0 4px 15px rgba(42, 175, 223, 0.3);
}

.feature-box-text {
	float: left;
	width: calc(100% - 95px);
	margin-left: 20px;
}

.feature-box h4 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 20px;
	margin-bottom: 8px;
	color: #fff;
}

.feature-box p {
	color: var(--fn-text-dim);
	line-height: 1.6;
	margin-bottom: 0;
	font-size: 15px;
}

/* ========================================================== */
/* 						   07. PORTFOLIO                      */
/* ========================================================== */

.gallery-insta {
	margin: 0 !important;
}

.gallery-insta img {
	border-radius: 0 !important;
	padding: 5px 5px;
}

p.follow-instagram a {
	color: #e52f37;
}

.popup-wrapper {
	display: block;
	position: relative;
	overflow: hidden;
}

.popup-gallery {
	display: block;
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 10px 25px rgba(13, 27, 75, 0.1);
	transition: var(--fn-transition);
}

.popup-gallery:hover {
	transform: translateY(-8px);
	box-shadow: 0 15px 35px rgba(13, 27, 75, 0.15);
}

.popup-gallery img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	transition: var(--fn-transition);
}

.popup-gallery:hover img {
	transform: scale(1.1);
	filter: brightness(0.4);
}

.popup-gallery a span.eye-wrapper {
	background: linear-gradient(135deg, rgba(0, 0, 0, 0.8), rgba(0, 229, 255, 0.6));
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	opacity: 0;
	transition: var(--fn-transition);
}

.popup-gallery a span.eye-wrapper i.eye-icon {
	font-size: 48px;
	color: #fff;
	transform: scale(0.5);
	transition: var(--fn-transition);
}

.popup-gallery a:hover span.eye-wrapper {
	opacity: 1;
}

.popup-gallery a:hover span.eye-wrapper i.eye-icon {
	transform: scale(1);
}

.popup-gallery img,
.popup-gallery a span {
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-ms-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
}

.gallery-item {
	margin-bottom: 37px;
}

/* ========================================================== */
/* 			               08. PRICING                        */
/* ========================================================== */

.price-box-white {
	text-align: center;
	background-color: #fff;
	border: 1px solid #dde9fb;
	box-shadow: 0 12px 55px 0 rgba(0, 0, 0, .05);
	padding: 50px 20px;
	width: 90%;
	margin-top: 30;
	margin-bottom: 20px;
	margin-left: 20px;
	border-radius: 8px 8px;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-webkit-backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
}

.price-box-grey {
	text-align: center;
	background: #e52f37;
	border: 2px solid #e52f37;
	box-shadow: 10px 12px 40px rgba(0, 0, 0, 0.2);
	padding: 50px 20px;
	width: 90%;
	margin-top: 30;
	margin-bottom: 20px;
	margin-left: 20px;
	border-radius: 8px 8px;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-webkit-backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
}

.price-box-grey:hover,
.price-box-white:hover {
	transform: scale(1.03, 1.03);
	-ms-transform: scale(1.03, 1.03);
	/* IE 9 */
	-webkit-transform: scale(1.03, 1.03);
	/* Safari */

	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
}

.price-box-white .price-title,
.price-box-white ul.pricing-list li.price-value {
	color: #292929;
}

.price-box-grey .price-title,
.price-box-grey ul.pricing-list li.price-value {
	color: #fff;
}

.price-box-white .price-subtitle,
.price-box-white .price-text {
	color: #fff;
}

.price-box-grey .price-subtitle,
.price-box-grey .price-text {
	color: #fff;
}

ul.pricing-list li.price-title {
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	line-height: 24px;
	font-weight: 500;
	letter-spacing: 1px;
}

ul.pricing-list li.price-value {
	font-family: 'Montserrat', sans-serif;
	font-size: 70px;
	line-height: 70px;
	display: block;
	margin-top: 20px;
	margin-bottom: 10px;
}

ul.pricing-list li.price-subtitle {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
}

ul.pricing-list li.price-text {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	line-height: 28px;
	font-weight: 400;
	margin-bottom: 5px;
}

ul.pricing-list li.price-tag a {
	color: #e52f37;
	background: #fff;
	border: 1px solid #fff;
	border-radius: 23px 23px;
	padding: 15px 30px;
	display: inline-block;
	font-size: 14px;
	line-height: 24px;
	font-weight: 600;
	margin: 40px 0 30px 0;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

ul.pricing-list li.price-tag a:hover {
	background: transparent;
	border: 1px solid #fff;
	color: #fff;
}

/* ========================================================== */
/* 			                 09. CONTACT                      */
/* ========================================================== */

.contact-form-wrapper {
	margin-top: 25px;
}

.contact-form-wrapper h3 {
	margin-bottom: 5px;
	font-size: 24px;
	font-weight: 500;
}

.contact-form-wrapper p {
	margin-bottom: 25px;
	font-size: 17px;
}

input.contact-input,
select.contact-input {
	width: 100%;
	height: 56px;
	padding-left: 2%;
	padding-right: 2%;
	margin-bottom: 15px;
	color: #fff;
	border: 2px solid #fff;
	background-color: transparent;
	font-size: 16px;
	-webkit-border-radius: 5px 5px;
	-moz-border-radius: 5px 5px;
	border-radius: 5px 5px;
}

textarea {
	height: 145px;
	margin-bottom: 12px;
	width: 100%;
	padding-left: 2%;
	padding-right: 2%;
	padding-top: 10px;
	padding-bottom: 10px;
	color: #fff;
	background-color: transparent;
	border: 2px solid #fff;
	font-size: 16px;
	-webkit-border-radius: 5px 5px;
	-moz-border-radius: 5px 5px;
	border-radius: 5px 5px;
}

input.contact-submit {
	background: #fff;
	border: none;
	color: #e52f37;
	letter-spacing: 1px;
	cursor: pointer;
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	width: 100%;
	max-width: 300px;
	padding: 20px 0;
	text-transform: uppercase;
	-webkit-border-radius: 3px 3px;
	-moz-border-radius: 3px 3px;
	border-radius: 3px 3px;
	transition: all .50s ease-in-out;
	-moz-transition: all .50s ease-in-out;
	-webkit-transition: all .50s ease-in-out;
}

input.contact-submit:hover {
	background: #eaeaea;
	transition: all .50s ease-in-out;
	-moz-transition: all .50s ease-in-out;
	-webkit-transition: all .50s ease-in-out;
}

input.contact-input::-webkit-input-placeholder,
textarea.contact-input::-webkit-input-placeholder {
	/* WebKit browsers */
	color: #fff;
}

input.contact-input:-moz-placeholder,
textarea.contact-input:-moz-placeholder {
	/* Mozilla Firefox 4 to 18 */
	color: #fff;
}

input.contact-input::-moz-placeholder,
textarea.contact-input::-moz-placeholder {
	/* Mozilla Firefox 19+ */
	color: #fff;
}

input.contact-input:-ms-input-placeholder,
textarea.contact-input:-ms-input-placeholder {
	/* Internet Explorer 10+ */
	color: #fff;
}

#contact-form input.contact-input:focus,
#contact-form textarea:focus {
	border-color: #fff !important;
	color: #fff !important;
	outline: none;
}

#contact-form select.contact-input:focus {
	border-color: #fff !important;
	color: #454545 !important;
	outline: none;
}

p.contact_success_box {
	display: inline-block;
	color: #fff;
	border: 1px solid #eee;
	padding: 25px 25px;
	font-size: 19px;
	text-shadow: none;
	font-style: italic;
	border-radius: 8px 8px;
	margin: 15px 0;
}

/* ========================================================== */
/* 			               11. OTHER ELEMENTS                 */
/* ========================================================== */

/* a) Buttons */
.btn-white {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: #fff;
	background: transparent;
	border: 1px solid #fff;
	padding: 14px 35px;
	border-radius: 50px;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: var(--fn-transition);
}

.btn-white:hover {
	background: #fff;
	color: #000 !important;
	box-shadow: 0 0 20px rgba(255, 255, 255, 0.4);
}

.btn-white-border {
	color: #fff;
	background: transparent;
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	line-height: 22px;
	font-weight: 700;
	border: 1px solid #fff;
	border-radius: 23px 23px;
	margin: 10px 10px;
	padding: 16px 26px;
	display: inline-block;
	box-shadow: 0px 8px 40px 0 rgba(0, 0, 0, 0.37);
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.btn-white-border:hover {
	box-shadow: 0px 4px 10px 0 rgba(0, 0, 0, 0.5);
	color: #e52f37 !important;
	background: #f9f9f9;
}

.btn-white i,
.btn-white-border i {
	font-size: 22px;
	line-height: 22px;
	margin-right: 10px;
	vertical-align: text-top;
}

.btn-blue {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: #fff !important;
	background: transparent;
	border: 2px solid var(--fn-cyan);
	padding: 14px 35px;
	border-radius: 50px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	transition: var(--fn-transition);
}

.btn-blue:hover {
	background: #e52f37;
	border-color: #e52f37;
	color: #fff !important;
	box-shadow: 0 0 35px rgba(229, 47, 55, 0.7);
	transform: translateY(-5px) scale(1.05);
}

.btn-red {
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	line-height: 22px;
	font-weight: 600;
	color: #fff;
	background-color: #e52f37;
	border: 1px solid #e52f37;
	box-shadow: 0px 5px 20px 0 rgba(0, 0, 0, 0.27);
	letter-spacing: 1px;
	border-radius: 23px 23px;
	margin: 5px 10px 10px 0;
	padding: 18px 25px;
	display: inline-block;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.btn-red:hover {
	box-shadow: 0 0 35px rgba(229, 47, 55, 0.8);
	color: #fff !important;
	background: #ff4d52;
	transform: translateY(-5px) scale(1.05);
}

.btn-blue.small,
.btn-blue-line.small,
.btn-red.small,
.btn-red-line.small,
.btn-white.small,
.btn-white-border.small {
	font-size: 16px;
	padding: 14px 20px;
}

.btn-red-line {
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	line-height: 22px;
	font-weight: 600;
	color: #e52f37;
	background-color: #fff;
	border: 1px solid #e52f37;
	border-radius: 23px 23px;
	margin: 15px 10px 0 0;
	padding: 20px 30px;
	display: inline-block;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.btn-red-line:hover {
	color: #fff !important;
	background: #e52f37;
}

a.btn-red:visited,
a.btn-red:focus {
	color: #fff !important;
}


/* b) Testimonials - Accordion Tabs */
.card {
	position: relative;
	margin: 20px 0;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.05) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
	border-radius: 15px;
	overflow: hidden;
	transition: var(--fn-transition);
}

.card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 40px rgba(13, 27, 75, 0.12);
}

.card-header {
	max-width: 100%;
	position: relative;
	padding: 20px 25px;
	margin-bottom: 0;
	background-color: transparent;
	border-bottom: none;
	border-left: 5px solid var(--fn-cyan);
}

.card-header h5 .btn-link p {
	font-family: 'Montserrat', sans-serif;
	margin-top: 10px;
	padding: 0;
	font-size: 19px;
	font-weight: 700;
	color: var(--fn-blue);
	text-align: left !important;
	background-color: transparent;
}

.card-header h5 .btn-link p span {
	font-size: 16px;
	color: var(--fn-cyan);
	font-weight: 600;
}

.card-body {
	padding: 15px 25px 25px 25px;
	border-top: none;
	border-left: 5px solid var(--fn-cyan);
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	color: var(--fn-text-dim);
	font-style: italic;
	line-height: 1.6;
}

body {
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	color: var(--fn-text);
	background: var(--fn-bg-dark);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Modern Testimonials */
.testim-platform-modern {
	display: flex;
	align-items: center;
	background: #fff;
	padding: 20px;
	border-radius: 15px;
	box-shadow: 0 5px 15px rgba(13, 27, 75, 0.05);
	margin-bottom: 30px;
}

.testim-platform-modern i {
	font-size: 40px;
	color: #4285F4;
	/* Google Blue */
	margin-right: 20px;
}

.platform-info p {
	margin-bottom: 5px;
	font-size: 15px;
	font-weight: 600;
}

.testim-card {
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.5);
	padding: 30px;
	border-radius: 20px;
	position: relative;
	box-shadow: 0 10px 30px rgba(13, 27, 75, 0.08);
	transition: var(--fn-transition);
}

.testim-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 40px rgba(13, 27, 75, 0.12);
	border-color: rgba(42, 175, 223, 0.3);
}

.quote-icon {
	position: absolute;
	top: 25px;
	right: 25px;
	font-size: 24px;
	color: rgba(13, 27, 75, 0.1);
}

.testim-text {
	font-size: 17px;
	line-height: 1.6;
	color: var(--fn-text-dim);
	margin-bottom: 25px;
}

.testim-card-footer {
	display: flex;
	align-items: center;
}

.testim-card-footer img {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	margin-right: 15px;
	border: 3px solid #fff;
	box-shadow: 0 4px 10px rgba(13, 27, 75, 0.1);
}

.author-info h6 {
	margin-bottom: 5px;
	font-size: 17px;
	color: var(--fn-navy);
}

.author-info .stars i {
	color: #FFC107;
	font-size: 13px;
	margin-right: 2px;
}

.testim-rating {
	margin-bottom: 20px;
}

.testim-rating i {
	color: #fdcc28;
}

/* c) Benefits List */
ul.benefits {
	margin-bottom: 20px;
}

ul.benefits li {
	font-size: 17px;
	line-height: 26px;
	margin-bottom: 8px;
}

ul.benefits.white li {
	color: #fff;
}

ul.benefits li i {
	font-size: 18px;
	line-height: 18px;
	margin-right: 1px;
	color: #e52a3d;
}

ul.benefits.white li i {
	color: #fff;
}

/* Modernized Benefits List */
ul.modern-benefits li {
	display: flex;
	align-items: flex-start;
	margin-bottom: 12px;
	line-height: 1.4;
	color: #fff;
}

ul.modern-benefits li i {
	color: var(--fn-cyan);
	font-size: 20px;
	margin-right: 12px;
	margin-top: 3px;
	text-shadow: 0 2px 4px rgba(42, 175, 223, 0.2);
}

.no-padding-bottom {
	padding-bottom: 0;
}

/* ----- d) Fun Facts ----- */
.fun-facts-boxs {
	display: inline-block;
	width: 19%;
	padding: 20px 10px;
	text-align: center;
	transition: var(--fn-transition);
}

.fun-facts-boxs:hover {
	transform: scale(1.1);
}

.fun-facts-title {
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-shadow: 2px 2px 10px rgba(0, 0, 0, 1);
}

.fun-facts-title span {
	display: block;
	font-size: 42px;
	line-height: 1;
	font-weight: 800;
	font-style: normal;
	color: #fff;
	margin-bottom: 12px;
	text-shadow: 3px 3px 15px rgba(0, 0, 0, 1);
}

.fun-facts-box i {
	font-size: 38px;
	margin-bottom: 20px;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	background: rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: 0 8px 32px rgba(13, 27, 75, 0.15);
	transition: var(--fn-transition);
}

.fun-facts-boxs:hover i {
	transform: translateY(-5px);
	border-color: var(--fn-cyan);
	box-shadow: 0 12px 40px rgba(42, 175, 223, 0.3);
}

/* Article Sections */
.article-block {
	margin-bottom: 45px;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(42, 175, 223, 0.1);
}

.article-block:last-child {
	border-bottom: none;
}

.article-block h2.section-title {
	font-size: 30px;
	margin-bottom: 25px;
}

.article-content p {
	font-size: 18px;
	line-height: 1.6;
	color: #fff;
}

/* Product Showcase */
.product-highlight-card {
	background: rgba(255, 255, 255, 0.05);
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.1);
	transition: var(--fn-transition);
	height: 100%;
}

.product-highlight-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 20px 50px rgba(13, 27, 75, 0.12);
}

.product-img-wrapper {
	background: #0a0a0a;
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-info {
	padding: 30px;
}

.product-info h3 {
	margin-bottom: 15px;
	font-size: 24px;
}

.product-info p {
	font-size: 16px;
	color: var(--fn-text-dim);
	margin-bottom: 25px;
}

.btn-blue-outline {
	display: inline-block;
	padding: 10px 25px;
	border: 2px solid var(--fn-blue);
	color: var(--fn-blue);
	border-radius: 50px;
	font-weight: 700;
	transition: var(--fn-transition);
}

.btn-blue-outline:hover {
	background: var(--fn-blue);
	color: #fff;
}

.product-grid-card {
	background: rgba(255, 255, 255, 0.03);
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
	border: 1px solid rgba(255, 255, 255, 0.08);
	transition: var(--fn-transition);
	margin-bottom: 30px;
}

.product-grid-card:hover {
	transform: scale(1.03);
	box-shadow: 0 10px 30px rgba(13, 27, 75, 0.08);
}

.product-thumb {
	height: 200px;
	object-fit: contain;
	background: #0a0a0a;
}

.pgc-info {
	padding: 20px;
	text-align: center;
}

.pgc-info h4 {
	font-size: 16px;
	margin-bottom: 8px;
	color: #fff;
}

.pgc-info p {
	font-size: 14px;
	margin-bottom: 0;
	line-height: 1.4;
}

.secondary-info {
	font-style: italic;
	color: var(--fn-text-dim);
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	padding-top: 25px;
	display: inline-block;
}

/* ----- e) Dropcaps Features ----- */
.nav-pills .nav-link {
	margin-bottom: 10px;
}

.nav-pills .nav-link,
.nav-pills .show>.nav-link {
	border: none !important;
	transition: all 1s;
}

.nav-pills .nav-link:hover {
	color: #fff;
	background-color: #fff;
	border: none !important;
	border-radius: 8px !important;
	box-shadow: 0 12px 55px 0 rgba(0, 0, 0, .05) !important;
	-moz-box-shadow: 0 12px 55px 0 rgba(0, 0, 0, .05) !important;
	-webkit-box-shadow: 0 12px 55px 0 rgba(0, 0, 0, .05) !important;
	transition: all 1s;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
	color: #fff;
	background-color: #fff;
	border: 1px solid #f4f5f6 !important;
	border-radius: 8px !important;
	box-shadow: 0 12px 55px 0 rgba(0, 0, 0, .05) !important;
	-moz-box-shadow: 0 12px 55px 0 rgba(0, 0, 0, .05) !important;
	-webkit-box-shadow: 0 12px 55px 0 rgba(0, 0, 0, .05) !important;
	transition: all 1s;
}

.features-second {
	margin: 10px 0;
}

.features-second h4 {
	margin-top: 10px;
	font-size: 21px;
}

.features-second p {
	margin-bottom: 10px;
}

.dropcaps-circle {
	float: left;
	margin: 1px 25px 10px 0;
	background-color: #fcfcfc;
	border: 1px solid #eaeaea;
	width: 80px;
	height: 80px;
	text-align: center;
	vertical-align: middle;
	color: #017df7;
	font-size: 40px;
	line-height: 80px;
	position: relative;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	transition: all .50s ease-in-out;
	-moz-transition: all .50s ease-in-out;
	-webkit-transition: all .50s ease-in-out;
}

.dropcaps-circle.blue {
	color: #1e90ff;
}

.dropcaps-circle.red {
	color: #e52f37;
}

.dropcaps-circle.green {
	color: #2745B3;
}

input[type="submit"] {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

form {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="submit"] {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.button-wrapper {
	position: relative;
	box-sizing: border-box;
}

/* Basic Button Styles */
input[type="submit"].bottone {
	width: 100%;
	height: 64px;
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	font-weight: 800;
	text-align: center;
	color: #fff;
	background: linear-gradient(90deg, var(--fn-red), #ff4d4d, var(--fn-red));
	background-size: 200% auto;
	border: none;
	border-radius: 12px;
	padding: 15px;
	transition: all 0.5s ease-in-out;
	cursor: pointer;
	outline: none;
	position: relative;
	box-sizing: border-box;
	letter-spacing: 2px;
	text-transform: uppercase;
	z-index: 1;
	box-shadow: 0 8px 25px rgba(229, 47, 55, 0.4);
	animation: pulseGlow 1.8s infinite;
}

input[type="submit"].bottone:hover {
	background-position: right center;
	transform: translateY(-3px);
	box-shadow: 0 12px 30px rgba(229, 47, 55, 0.6);
	animation: none;
}


/* Pseudo-element for the border effect */
.button-wrapper::after {
	content: '';
	position: absolute;
	top: 0px;
	left: -5px;
	width: calc(100% + 10px);
	/* Extends beyond the button */
	height: calc(60px + 10px);
	border-radius: 20px;
	/* Round corners */
	border: 6px solid #ff0000;
	/* The animated border color */
	opacity: 0;
	transition: all 0.3s ease-in-out;
	transform: translateY(-5px);
	/* Slightly lift the button */
}

/* Reveal the border animation on hover */
.button-wrapper:hover::after,
.button-wrapper:focus::after {
	opacity: 1;
	box-shadow: 0px 0px 12px 6px rgb(154, 31, 37);
	/* Add border-like shadow on hover */
}

/* Optionally, we can add an additional ring animation to the button using a pseudo-element */
.button-wrapper::before {
	content: '';
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 6px solid #e52f37;
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: ring 1.35s infinite;
}

/* Ring animation keyframes */
@keyframes ring {
	0% {
		width: 30px;
		height: 30px;
		opacity: 1;
	}

	100% {
		width: 260px;
		height: 260px;
		opacity: 0;
	}
}

.logo {
	height: 55px;
	width: auto;
	vertical-align: middle;
}

/* ========================================================== */
/* 			             11. MEDIA QUERIES                    */
/* ========================================================== */

@media (max-width: 1200px) {

	input[type="submit"].bottone {
		width: 100%;
		font-size: 16px;

	}
}

@media (max-width: 991px) {

	input[type="submit"].bottone {
		font-size: 8px;
		/* Adjust font size to 15px */
	}

	.logo {
		height: 50px;
	}


	.button-wrapper::after {
		top: 0px;
		left: -5px;
		width: calc(100% + 10px);
		/* Extends beyond the button */
		height: calc(60px + 10px);
	}

	.navbar-fixed-top.opaque {
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.navbar-fixed-top .navbar-nav>li.discover-link {
		margin-top: 10px;
	}

	.navbar-fixed-top .navbar-nav>li>a.discover-btn {
		padding: 8px 12px !important;
		margin-left: 20px;
		font-size: 17px !important;
	}

	.home-section {
		padding-top: 170px;
		padding-bottom: 70px;
		background-attachment: inherit;
	}

	.home-section h1 {
		font-size: 38px;
		line-height: 44px;
	}

	.fun-facts-boxs {
		width: 48%; /* 2 per row on tablets */
		margin-bottom: 30px;
	}

}

@media (max-width: 768px) {


	input[type="submit"].bottone {
		font-size: 16px;
	}

	.navbar-fixed-top {
		background-color: #000;
		/* Dark mode navbar on mobile */
	}

	/* Scale down overall typography */
	h1 {
		font-size: 32px;
	}

	h2 {
		font-size: 28px;
	}

	h3 {
		font-size: 24px;
	}

	.card-header-modern h2 {
		font-size: 28px;
	}

	/* Optimize spacing for mobile */
	.section-white,
	.section-grey,
	.section-products-modern {
		padding: 60px 0 !important;
	}

	/* Reset min-height constraints for stacked mobile view */
	.card-header-modern,
	.card-description-modern,
	.product-top-part {
		min-height: auto !important;
	}

	.home-section {
		padding-top: 65px;
		padding-bottom: 90px;
		background-attachment: inherit;
	}

	.home-section-overlay {
		opacity: 0.37;
	}

	.footer {
		padding-top: 50px;
		padding-bottom: 50px;
		text-align: center;
	}

	.footer-top i {
		display: block;
		margin-top: 50px !important;
	}

	ul.footer_social {
		margin-top: 15px;
		float: none;
	}

	ul.footer_social li a i {
		margin: 0 8px !important;
	}

	.partners-section {
		padding: 40px 0;
	}

	.partners {
		text-align: center;
	}

	.partners-title {
		font-size: 18px;
		line-height: 30px;
		float: none !important;
		margin-right: 30px;
	}

	.testim-inner {
		margin-top: 40px;
		margin-bottom: 40px;
	}

	.top-margins-images {
		margin-top: 50px;
	}

	.bottom-margins-images {
		margin-bottom: 50px;
	}

	.section-bg-1,
	.section-bg-2,
	.section-bg-3 {
		background-attachment: inherit;
	}

}

@media (max-width: 375px) {

	.navbar-toggle {
		border: 1px solid #9f9f9f !important;
	}

	.home-section {
		padding-top: 65px;
		padding-bottom: 70px;
	}

	.home-section h1 {
		font-size: 38px;
		line-height: 44px;
	}

	.card {
		box-shadow: none;
	}

	.card-header h5 .btn-link {
		font-size: 16px;
		clear: left;
	}

	.card-header h5 .btn-link p {
		margin-top: 7px;
	}

	.card-header h5 .btn-link p span {
		display: block;
		font-size: 15px;
	}

	.section-white {
		padding: 60px 0 70px 0 !important;
	}

	.section-white.small-padding-bottom,
	.section-grey.small-padding-bottom {
		padding: 60px 0 50px 0 !important;
	}

	.margin-left-20 {
		margin-left: 1px !important;
	}

	.services-wrapper {
		margin-top: 30px;
	}

	.small-col-inside {
		margin: 50px 0;
		padding-right: 25px;
		padding-left: 25px;
	}

	.partners img.partners {
		margin: 10px 25px 10px 0;
		max-height: 40px;
	}

	.feature-box {
		text-align: center;
	}

	.feature-box i {
		display: inline-block;
		float: none;
		margin-bottom: 25px;
	}

	.feature-box-text {
		width: 100%;
		margin-left: 0;
	}

}

/* Breathing Divider Effect (Updated Blue - Enhanced) */
.breathing-divider {
	height: 2.5px;
	width: 65%;
	margin: 50px auto;
	background: linear-gradient(90deg,
			transparent 0%,
			rgba(255, 255, 255, 0.2) 20%,
			rgba(0, 123, 255, 0.8) 50%,
			rgba(255, 255, 255, 0.2) 80%,
			transparent 100%);
	animation: breatheLine 5s ease-in-out infinite;
	position: relative;
	opacity: 0.7;
}

@keyframes breatheLine {

	0%,
	100% {
		opacity: 0.3;
		width: 50%;
		box-shadow: 0 0 20px rgba(0, 123, 255, 0.2);
	}

	50% {
		opacity: 1;
		width: 85%;
		box-shadow: 0 0 45px rgba(0, 123, 255, 0.8);
	}
}

/* Comparison Table Styling */
.comparison-table-wrapper {
	overflow-x: auto;
	margin: 50px 0;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(5, 5, 5, 0.8);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8);
	backdrop-filter: blur(15px);
}

.fn-table {
	width: 100%;
	border-collapse: collapse;
	color: #fff;
	min-width: 800px;
}

.fn-table th {
	background: linear-gradient(135deg, #001f4d 0%, #0044cc 100%);
	padding: 25px 15px;
	text-align: center;
	text-transform: uppercase;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 2px;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

.fn-table td {
	padding: 20px 15px;
	text-align: center;
	border: 1px solid rgba(255, 255, 255, 0.05);
	font-size: 14px;
	transition: background 0.3s ease;
}

.fn-table tr:hover td {
	background: rgba(255, 255, 255, 0.03);
}

.fn-feature-name {
	text-align: left !important;
	font-weight: 700;
	background: rgba(0, 0, 0, 0.5);
	color: var(--fn-cyan);
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 1px;
}

.fn-table .product-name {
	font-size: 18px;
	display: block;
	margin-bottom: 5px;
}

.fn-table .product-subtitle {
	font-size: 10px;
	font-weight: 300;
	opacity: 0.7;
	display: block;
}

/* Modern Testimonials & Slider Customization */
.testim-modern-carousel {
	position: relative;
	padding-bottom: 20px;
}

.testim-modern-slide {
	background: rgba(255, 255, 255, 0.05) !important;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 20px;
	padding: 60px 50px;
	backdrop-filter: blur(15px);
	-webkit-backdrop-filter: blur(15px);
	margin: 15px auto;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6);
	text-align: center;
	max-width: 900px;
	transition: var(--fn-transition);
}

.testim-stars-modern {
	margin-bottom: 30px;
}

.testim-stars-modern i {
	color: #ffcc00;
	/* Vibrant Gold */
	font-size: 20px;
	margin: 0 4px;
	text-shadow: 0 0 10px rgba(255, 204, 0, 0.3);
}

.testim-quote-modern {
	font-size: 24px !important;
	line-height: 1.6;
	color: #fff;
	font-style: italic;
	margin-bottom: 35px;
	font-weight: 300;
}

.testim-author-modern {
	display: block;
	color: var(--fn-cyan);
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 3px;
	font-weight: 700;
}

.testim-modern-carousel .carousel-control-prev,
.testim-modern-carousel .carousel-control-next {
	width: 60px;
	height: 60px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	top: 50%;
	transform: translateY(-50%);
	opacity: 1;
	transition: all 0.4s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
}

.testim-modern-carousel .carousel-control-prev:hover,
.testim-modern-carousel .carousel-control-next:hover {
	background: #e52f37;
	border-color: #e52f37;
	box-shadow: 0 0 20px rgba(229, 47, 55, 0.6);
	transform: translateY(-50%) scale(1.1);
}

.testim-modern-carousel .carousel-control-prev i,
.testim-modern-carousel .carousel-control-next i {
	font-size: 20px;
	color: #fff;
}

.testim-modern-carousel .carousel-control-prev {
	left: -80px;
}

.testim-modern-carousel .carousel-control-next {
	right: -80px;
}

/* Responsive adjustments for slider controls */
@media (max-width: 1200px) {
	.testim-modern-carousel .carousel-control-prev {
		left: -40px;
	}

	.testim-modern-carousel .carousel-control-next {
		right: -40px;
	}
}

@media (max-width: 991px) {

	.testim-modern-carousel .carousel-control-prev,
	.testim-modern-carousel .carousel-control-next {
		bottom: -70px;
		top: auto;
		transform: none;
	}

	.testim-modern-carousel .carousel-control-prev {
		left: 35% !important;
	}

	.testim-modern-carousel .carousel-control-next {
		right: 35% !important;
	}

	.testim-quote-modern {
		font-size: 18px !important;
	}

	.testim-modern-slide {
		padding: 40px 25px;
	}
}

.video-item {
	transition: var(--fn-transition);
	cursor: pointer;
}

.video-item:hover {
	transform: scale(1.02);
	border-color: var(--fn-cyan) !important;
	box-shadow: 0 10px 30px rgba(0, 123, 255, 0.3);
}

.video-item i {
	transition: all 0.4s ease;
}

.video-item:hover i {
	opacity: 1 !important;
	transform: scale(1.1);
	background: rgba(0, 123, 255, 0.2);
}

/* Modern Product Card Design */
.section-products-modern {
	background: #0d0f14;
	padding: 100px 0;
	position: relative;
	border-top: 1px solid #1a1d24;
	border-bottom: 1px solid #1a1d24;
}

.section-products-modern::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image:
		linear-gradient(rgba(42, 175, 223, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(42, 175, 223, 0.04) 1px, transparent 1px);
	background-size: 40px 40px;
	pointer-events: none;
	z-index: 0;
}

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

.product-card-modern {
	background: #1a1d24;
	/* Dark cohesive background */
	border-radius: 20px;
	padding: 0px 0px 25px 0px;
	margin-bottom: 30px;
	box-shadow: 0 15px 45px rgba(0, 0, 0, 0.4);
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	border: 1px solid rgba(255, 255, 255, 0.08);
	/* Subtle border for definition */
	height: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.product-card-modern:hover {
	transform: translateY(-10px);
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);
}

.card-header-modern {
	text-align: center;
	padding: 25px 20px 10px 20px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 150px;
	/* Stronger header alignment */
}

.card-header-modern h2 {
	font-size: 38px;
	font-weight: 800;
	margin-bottom: 8px;
	color: #ffffff;
	/* White title for dark card */
	letter-spacing: -1px;
	text-transform: uppercase;
	font-family: 'Montserrat', sans-serif;
}

.card-header-modern .catchphrase {
	font-size: 11px;
	font-weight: 800;
	color: var(--fn-blue);
	/* Reverted to brand blue per request */
	text-transform: uppercase;
	letter-spacing: 0.5px;
	line-height: 1.3;
}

.card-description-modern {
	padding: 0 25px;
	font-size: 13.3px;
	line-height: 1.6;
	color: #bbbbbb;
	/* Lighter grey for dark background */
	margin-bottom: 25px;
	text-align: left;
	font-weight: 400;
	min-height: 105px;
	/* Robust alignment for description */
	display: flex;
	align-items: flex-start;
}

.product-top-part {
	min-height: 245px;
	/* Absolute baseline for images */
	display: flex;
	flex-direction: column;
}

.card-image-modern {
	background: #000;
	position: relative;
	width: 100%;
	aspect-ratio: 1/1;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.card-image-modern img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.card-specs-modern {
	padding: 20px 25px;
	flex-grow: 1;
}

.spec-item {
	display: flex;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	/* Subtle divider */
}

.spec-item:last-child {
	border-bottom: none;
}

.spec-icon {
	font-size: 22px;
	color: var(--fn-blue);
	width: 45px;
	display: flex;
	justify-content: center;
}

.spec-text {
	padding-left: 8px;
	text-align: left;
}

.spec-title {
	font-size: 11px;
	font-weight: 800;
	color: #aaaaaa;
	/* Lighter labels */
	/* Black for secondary labels */
	text-transform: uppercase;
	display: block;
	line-height: 1.2;
}

.spec-value {
	font-size: 13px;
	color: #ffffff;
	font-weight: 500;
}

.btn-richiedi {
	display: block;
	width: calc(100% - 50px);
	margin: 0 auto;
	background: var(--fn-red);
	color: #fff !important;
	text-align: center;
	padding: 15px;
	border-radius: 50px;
	font-weight: 700;
	text-transform: uppercase;
	transition: all 0.3s ease;
	text-decoration: none !important;
	font-size: 15px;
	box-shadow: 0 4px 15px rgba(255, 59, 48, 0.3);
}

.btn-richiedi:hover {
	background: #e6352b;
	/* Slightly darker red */
	transform: scale(1.03);
	box-shadow: 0 6px 20px rgba(255, 59, 48, 0.4);
}

/* Global Partners Marquee */
.partners-marquee-container {
	overflow: hidden;
	padding: 50px 0;
	white-space: nowrap;
	position: relative;
	background: rgba(255, 255, 255, 0.01);
	mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

.partners-marquee-track {
	display: flex;
	width: max-content;
	animation: marqueeScroll 40s linear infinite;
}

.partners-marquee-container:hover .partners-marquee-track {
	animation-play-state: paused;
}

.partner-logo {
	margin: 0 45px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.partner-logo img {
	height: 60px;
	width: auto;
	filter: brightness(1.5) opacity(0.9);
	transition: all 0.4s ease;
}

.partner-logo:hover img {
	filter: brightness(2) opacity(1);
	transform: scale(1.1);
}

/* FAQ Minimal Styling */
.faq-minimal-item {
	padding: 10px 40px 10px 0;
	margin-bottom: 50px;
}

.faq-minimal-item h5 {
	color: #fff;
	font-size: 19px;
	font-weight: 800;
	margin-bottom: 15px;
	line-height: 1.4;
}

.faq-minimal-item p {
	color: #a4a4a4;
	font-size: 16px;
	line-height: 1.7;
	margin-bottom: 0;
	font-weight: 400;
}



@keyframes marqueeScroll {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

@media (max-width: 768px) {
	.partner-logo img {
		height: 35px;
	}

	.partner-logo {
		margin: 0 25px;
	}

	.home-section-overlay, 
	.section-bg-overlay {
		opacity: 0.85 !important;
	}

	.fun-facts-boxs {
		width: 100% !important;
		margin-bottom: 30px !important;
		display: block !important;
	}
}

/* Hard override for smallest viewports */
@media (max-width: 375px) {
	.home-section h1 {
		font-size: 28px !important;
		line-height: 36px !important;
	}
}

/* Desktop Alignment Constraints for Product Cards */
@media (min-width: 992px) {
	.card-header-modern h2 {
		font-size: 26px;
		min-height: 70px;
		display: flex;
		align-items: flex-start;
		justify-content: center;
	}
	.card-header-modern {
		min-height: 175px;
		justify-content: flex-start;
	}
	.card-description-modern {
		min-height: 130px;
		align-items: flex-start;
	}
	.card-image-modern {
		height: 220px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.card-image-modern img {
		max-height: 100%;
		width: auto;
	}
	.row > .col-md-3 {
		display: flex;
	}
	.product-card-modern {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	.card-specs-modern {
		flex-grow: 1;
	}
}