:root {
	--bs-body-font-family: "Raleway", sans-serif;
	--bs-body-font-size: 18px;
	--bs-body-line-height: 23px;
	--bs-body-color: #2D2926;
	
	--grigio: #EAEDF2;
	--color1: #FE5000;
}
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
	--bs-gutter-x: calc(36px * 2);
}
.row {
	--bs-gutter-x: 30px;
}
@media (min-width: 1700px) {
	.container { max-width: 1640px; }
}

html, body {
	overflow-x: hidden;
}

img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}

.h100 {
	height: 100%;
}

.c1 {
	color: var(--color1);
}

.f-bold {
	font-weight: 700;
}

.f-33 { font-size: 22px; line-height: 27px; }
.f-30 { font-size: 22px; line-height: 27px; }
.f-28 { font-size: 22px; line-height: 27px; }
.f-21 { font-size: 18px; line-height: 27px; }
@media (min-width: 1200px) {
	.f-33 { font-size: 33px; line-height: 42px; }
	.f-30 { font-size: 30px; line-height: 40px; }
	.f-28 { font-size: 28px; line-height: 40px; }
	.f-21 { font-size: 21px; line-height: 30px; }
}

.bg1 {
	background-color: #E41B13;
	color: #fff;
}

.cta {
	display: inline-flex;
	align-items: center;
	font-weight: 800;
	color: var(--color1);
	text-decoration: none;
	text-transform: uppercase;
}
.cta.cta-w {
	color: #fff;
}
.cta:hover {
	text-decoration: underline;
}

.cta svg,
.cta img {
	max-height: 23px;
	margin-right: 10px;
}
.cta svg circle { fill: var(--color1); }
.cta.cta-w svg circle { fill: #fff; }
.cta.cta-w svg path { stroke: var(--color1); }



#section1 {
	background: #2B2B2B;
	/*overflow: hidden;*/
}
.logo {
	max-height: 88px;
	position: absolute;
	top: 25%;
	left: -1%;
	z-index: 1;
	@media(max-width: 576px){
		max-height: 88px;
		position: absolute;
		top: 20px;
		left: 36px;
	}
}

#header-desktop {
	position: relative;
	padding-top: 50px;
	padding-bottom: 130px;
}


#header-desktop .main-img {
	position: absolute;
	top: -40px; /* Regola questo per far salire/scendere l'immagine rispetto al testo se serve */
	bottom: 0;  /* Fa prendere al background l'altezza generata dal testo */
	width: 150%; /* Abbondiamo con la larghezza dato che il JS lo spinge a sinistra */
	max-width: unset;
	margin-right: 0;

	/* Le tue regole di background */
	background-image: url("../img/hero-img.png");
	background-size: cover;
	background-position: center;
	min-height: 100%;

	z-index: 0; /* Lo manda dietro al logo e al testo */
}
#header-desktop .main-img img {

}


#form { position: relative; }
#form > .row { position: relative; z-index: 0; }
#form:before {
	content: '';
	background: #fff;
	position: absolute;
	top: 0;
	left: 50%;
	bottom: 0;
	width: 100vw;
	z-index: 0;
	transform: translateX(-50%);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	border-radius: 0 0 10px 10px;
}
@media (min-width: 992px) {
	#form:before {
		left: 0;
		right: -4vw;
		width: unset;
		transform: unset;
	}
}
@media (min-width: 1600px) {
	#form:before {
		right: -8vw;
	}
}

@media(max-width: 576px){
	#form{
		margin-top: 180px;
	}
}

#form label {
	display: block;
	width: 100%;
}
#form label .required {
	color: #0A0A0A;
}

#form input:not([type="checkbox"], [type="radio"]),
#form select,
#form textarea {
	display: block;
	background: #f1f1f1;
	width: 100% !important;
	border: 0;
	height: 56px;
	margin-top: 5px;
	padding: 0 15px;
	margin-bottom: 20px;
}

#form input[type="checkbox"] {
	margin: 7px 0 0 0;
}

#form a {
	color: inherit;
}

#form .errore {
	background: #FF0046;
	color: #fff;
	padding: 5px 15px;
}

.btn, input[type="submit"] {
	display: block;
	width: 100%;
	height: 56px;
	border-radius: 30px;
	border: 0;
	background: #99A1AF;
	color: #fff;
	font-weight: 700;
}
.btn:hover, input[type="submit"]:hover {
	background: #000;
}


#sezione2 {}
#sezione2 .icon-container {
	border-bottom: 5px solid #E41B13;
	padding-bottom: 10px;
}
#sezione2 .icon-container, 
#sezione2 .icon-container > div {
	height: 100%;
}


#sezione3 {
	background-color:#EBEBEB;
}


.card-settore {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0 15px; /* Dà un po' di respiro ai lati del testo */
}

/* Gestione delle icone rosse */
.card-settore .icona-rossa {
	width: 80px !important; /* Forza la larghezza nell'Owl Carousel */
	height: 80px !important;
	object-fit: contain;
	/* Se le tue SVG non hanno già il cerchio rosso,
       aggiungi background-color: #E32119; e border-radius: 50%; qui */
}


#sezione5 {
	background-color: #E41B13;
	color: white;
}


#footer { font-family: "Raleway", sans-serif;}

#footer .social {
	display: flex;
	flex-wrap: wrap;
}
#footer .social a {
	width: 37px;
	height: 37px;
	background: var(--color1);
	border-radius: 50%;
	margin-right: 20px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#footer .social a:hover {
	background: #000;
}
#footer .social svg {
	width: 19px;
	height: 19px;
}

.inputs-list {
	list-style: none;
	padding: 0;
}

.inputs-list p, .hs-richtext p {
	font-size: 14px;
	line-height: 18px;
}


.btn.download {
	display: inline-flex;
	padding: 0 30px;
	align-items: center;
	text-decoration: none;
	text-transform: uppercase;
}


.owl-carousel {}
.owl-carousel.owl-overflow-visible .owl-stage-outer {
	overflow: visible;
}

.owl-carousel .owl-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 35px;
}
.owl-carousel .owl-dots .owl-dot {
	display: block;
	width: 12px;
	height: 12px;
	border: 1px solid var(--color1);
	background: #fff;
	border-radius: 50%;
	margin: 0 7px;
	flex-shrink: 0;
}
.owl-carousel .owl-dots .owl-dot.active {
	background: var(--color1);
}

/*** CCS AGGIUNTIVO ***/
.ms_pt{
	padding-top: 45px;
}

.btn-form{
	color: white;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60%;
	background-color: #E32119;
	border-radius: 50px;
	padding: 15px 30px;
	@media(max-width: 1024px){
		width: 100%;
		text-align: center;
	}
}

.main-title1-landing{
	color: #0A0A0A;
	font-size: 30px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: -0.848px;
	text-transform: uppercase;
	margin-bottom: 0;
}

.main-title2-landing{
	width: 512px;
	color: #0A0A0A;
	font-size: 30px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	letter-spacing: -0.848px;
	text-transform: uppercase;
	@media(max-width: 576px){
		width: unset;
	}
}

.sub-description-main-title{
	width: 518px;
	@media(max-width: 576px){
		width: unset;
	}
}

.form-title{
	width: 423px;
	color: #0A0A0A;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 28px;
	text-transform: uppercase;
	@media(max-width: 1024px){
		width: unset;
	}
}

.form-title-en{
	width: 449px;
	color: #0A0A0A;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 28px;
	text-transform: uppercase;
	@media(max-width: 1024px){
		width: unset;
	}
}

.sub-title-form{
	color: #0A0A0A;
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
}

.sez-under-form{
	padding-top: 100px;
	padding-bottom: 50px;
	@media(max-width: 576px){
		padding-top: 50px;
	}
}

.title-under-form{
	width: 529px;
	color: #FFF;
	font-size: 24px;
	font-style: normal;
	font-weight: 500;
	line-height: 32px;
	letter-spacing: -0.53px;
	text-transform: uppercase;
	@media(max-width: 576px){
		width: unset;
	}
}

.descrizione-title-under-form{
	height: 182px;
	color: #FFF;
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 22.75px;
	letter-spacing: -0.15px;
	@media(max-width: 576px){
		width: unset;
	}
}

.titolo-incappucciatrici{
	width: 409px;
	color: #0A0A0A;
	font-size: 30px;
	font-style: normal;
	font-weight: 500;
	line-height: 36px;
	letter-spacing: -0.354px;
	text-transform: uppercase;
	@media(max-width: 576px){
		width: unset;
	}
}

.descrizione-incappucciatrici{
	color: #0A0A0A;
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 26px;
	letter-spacing: -0.312px;
	margin-bottom: 30px;
}

.cta-special{
	color: #0A0A0A;
	font-size: 17px;
	font-style: normal;
	font-weight: 700;
	line-height: 26px;
	letter-spacing: -0.312px;
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: auto;
	text-underline-offset: auto;
	text-underline-position: from-font;
}

.cta-special:hover{
	color: #E32119;
}

.img-incappucciatrice{
	border-radius: 10px;
}

.titolo2-incappucciatrici{
	color: #0A0A0A;
	text-align: center;
	font-size: 30px;
	font-style: normal;
	font-weight: 500;
	line-height: 36px;
	letter-spacing: -0.354px;
	text-transform: uppercase;
	margin-bottom: 50px;
	margin-top: 74px;
}

.custom-row{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.title-card-vantaggi{
	color: #0A0A0A;
	text-align: center;
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: 28px; /* 140% */
	margin-top: 15px;
	text-transform: uppercase;
}

.descrizione-card-vantaggi{
	width: 100%;
	color: #0A0A0A;
	text-align: center;
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
	letter-spacing: -0.15px;
}

.btn-red{
	color: white;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 90%;
	background-color: #E32119;
	border-radius: 50px;
	padding: 15px 30px;
	text-align: center;
	@media(max-width: 1024px){
		width: 100%;

	}

}

.titolo-stretch-hood{
	color: #0A0A0A;
	font-size: 30px;
	font-style: normal;
	font-weight: 500;
	line-height: 36px;
	letter-spacing: -0.354px;
	text-transform: uppercase;
}


.video-bocedi-wrapper {
	position: relative;
	display: inline-block;
	max-width: 100%;
}


.video-bocedi-wrapper iframe {
	position: relative;
	z-index: 2;
	display: block;
	max-width: 100%;
	border-radius: 10px;

}

/* Il blocco rosso decorativo sotto al video */
.video-bocedi-wrapper::after {
	content: "";
	position: absolute;
	bottom: -25px;
	left: 30px;
	right: 30px;
	height: 60px;
	background-color: #E32119;
	z-index: 1;
}

.titolo-sez4{
	color: #0A0A0A;
	text-align: center;
	font-size: 30px;
	font-style: normal;
	font-weight: 500;
	line-height: 36px;
	text-transform: uppercase;
	margin-bottom: 20px;
}

.sub-title-sez4{
	color: #0A0A0A;
	text-align: center;
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 26px;
	width: 519px;
	margin: auto;
	@media(max-width: 576px){
		width: unset;
	}
}

.btn-red-under-carousel{
	color: white;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30%;
	background-color: #E32119;
	border-radius: 50px;
	padding: 15px 30px;
	text-align: center;
	@media(max-width: 1024px){
		width: 100%;

	}
}

.btn-row{
	display: flex;
	justify-content: center;
	align-items: center;
}

.wrapper-testo{
	height: 100%;
	padding: 60px 0;
}

.titolo-pre-footer{
	font-size: 30px;
	font-style: normal;
	font-weight: 500;
	line-height: 36px;
	letter-spacing: -0.354px;
	text-transform: uppercase;
	margin-bottom: 23px;
	@media(max-width: 1024px){
		width: unset;
	}

}

.descrizione-pre-footer{
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 26px;
	@media(max-width: 1024px){
		width: unset;
	}
}

.cta-reverse{
	color: #0A0A0A;
	text-align: center;
	font-size: 17px;
	font-style: normal;
	font-weight: 500;
	line-height: 20px;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40%;
	background-color: white;
	border-radius: 50px;
	padding: 15px 30px;
	@media(max-width: 1024px){
		width: 100%;
	}
}

.col-info-azienda p{
	margin-bottom: 0;
	color: #000;
	font-size: 17px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0.087px;
}

.a-footer{
	color: #000;
	font-size: 17px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
	letter-spacing: 0.087px;
	text-decoration-line: underline;
}

.p-col{
	padding: 60px 0;
}

.btn-form:hover,
.btn-red:hover,
.btn-red-under-carousel:hover,
.cta-reverse:hover{
	background-color: #7d7c79;
	color: white;
}

/* --- HEADER MOBILE --- */
#header-mobile .hero-img-mobile {
	height: 770px;
	object-fit: cover;
}

#header-mobile .header-mobile-overlay {
	position: absolute;
	top: 140px;
	left: 0;
	width: 100%;
}

/* --- PAREGGIO ALTEZZE OWL CAROUSEL --- */

/* 1. Trasforma il contenitore principale delle slide in flexbox */
.numeri.owl-carousel .owl-stage {
	display: flex;
	align-items: center;
}

/* 2. Assicurati che ogni singolo contenitore della slide si espanda */
.numeri.owl-carousel .owl-item {
	display: flex;
}

/* 3. Forza la tua card a occupare il 100% dell'altezza disponibile */
.card-settore {
	height: 100%;
	/* (Mantiene i tuoi stili esistenti display: flex; flex-direction: column; ecc...) */
}

.p-left-form{
	padding-left: 40px;
}

.container-thankyou{
	font-family: "Raleway", sans-serif;
}

.body{
	height: 100vh;
}