/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */


/* CHILD PARENTS */ 


@charset "UTF-8";
/* CSS Document */

/* oxanium-regular - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/oxanium-v21-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* oxanium-600 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Oxanium';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/oxanium-v21-latin_latin-ext-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-regular - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v31-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-600 - latin_latin-ext */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/montserrat-v31-latin_latin-ext-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

:root {
/*COLORI*/
--bianco: #FFF;
--nero: #000;
--grigio-l: #F0F4F9;	
--grigio: #E1E6ED;
--grigio-d: #E1E6ED;
--colore: #e30613;
--colore-xl: #FCE6E7;
--colore-l: #F44336;
--colore-d: #980005;

/*COLORI TEMA*/
--color-gray: #E1E6ED;
--color-gray-dark: #414141;
	
--color-success: #e30613;
--color-info: #e30613;
--color-warning: #e30613;
--color-danger: #e30613;
	
--color-dark: #000;
--color-body: #000;
--color-label: #980005;
--color-title: #000;
--color-semi: #000;
--color-price: #000;
--color-a: #000;
	
--color-a-hover: #e30613;
--color-date: #e30613;
--color-primary: #e30613;
--color-secondary: #e30613;
	
--bg-color-btn: transparent;
	
--bg-color-btn-hover: #e30613;
--bg-color-label-new: #e30613;
--bg-color-label-sale: #e30613;
--color-btn: #e30613;
	
--ax-line-color: #F2F3F2;
	
/*PESI*/
--font-weight-body: 400 !important;
--font-weight-label: 600 !important;
--font-weight-semi: 400 !important;
--font-weight-title: 600 !important;

/*DIMENSIONI*/
--font-size-h1: 56px;
--font-size-h2: 40px;
--font-size-h3: 36px;
--font-size-h4: 32px;
--font-size-h5: 24px;
--font-size-h6: 20px;
--font-size-body: 16px;
--font-size-cta: 13px;
--font-size-exta-small: 13px;

/*FONT*/
	--font-family-body: 'Montserrat', "Helvetica", "Arial", "sans-serif";
    --font-family-label: 'Montserrat', "Helvetica", "Arial", "sans-serif";
    --font-family-semi: 'Oxanium', "Helvetica", "Arial", "sans-serif";
    --font-family-title: 'Oxanium', "Helvetica", "Arial", "sans-serif";
}

/*INIZIO personalizzazione GENERICA*/
b, strong {
    font-weight: 600;
}
.sottolineato a {
    text-decoration-thickness: 1px !important;
    text-underline-offset: 5px;
}
#back-top {
    bottom: 90px;
}
@media (min-width: 530px) and (max-width: 1024px) {
	#back-top {
		bottom: 75px;
	}
}
@media (min-width: 1025px) {
	#back-top {
		bottom: 50px;
	}
}
/*FINE personalizzazione GENERICA*/

/*INIZIO personalizzazione HEADER*/
#header {
    margin-bottom: 0;
}
#header .btn-canvas.btn-canvas-cart .canvas-gr-icon {
    border-color: var(--colore) !important;
    background: var(--colore);
    color: var(--bianco);
    box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--colore-l) 50%, transparent);
    border-radius: 6px;
    padding: 5px 20px 5px 15px;
    height: 46px;
    min-width: 100px;
    text-align: center;
}
#header .btn-canvas.btn-canvas-cart:hover {
    transition: all 0.35s ease-in-out;
	transform: scale(1.05);
	transform-origin: left;
}
#header .btn-canvas.btn-canvas-cart:hover .canvas-gr-icon {
    border-color: var(--colore) !important;
    background: var(--colore);
    color: var(--bianco);
    box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--colore-d) 50%, transparent);
}
#header .btn-canvas.btn-canvas-cart .cart-nbr {
    fill: var(--nero);
    color: var(--nero);
    background-color: var(--bianco);
	box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--nero) 50%, transparent);
	padding: 0 10px;
    border-radius: 4px;
    font-weight: 600;
}
#header .btn-canvas.btn-canvas-cart:hover .cart-nbr {
    background-color: var(--colore-xl);
	color: var(--nero);
}
#header .btn-canvas.btn-canvas-cart .amount {
    display:none;
}
#header-sticky {
	background: hsl(0deg 0% 100% / 90%);
	/*background: linear-gradient(145deg, hsl(0deg 0% 100% / 90%), hsl(0deg 0% 90% / 90%));*/
    box-shadow: 8px 8px 16px hsl(0deg 0% 80% / 60%), -8px -8px 16px hsl(0deg 0% 100% / 80%);
    border-radius: 0 0 2px 2px;
    backdrop-filter: blur(10px);
}
#header .search-widget .search-submit {
    width: 24px;
}
#header .search-widget .search-submit::before {
  content: "";
  transform: translate(-10%, 0%);
  background-color: currentColor;
  -webkit-mask: url(/img/cms/assets/ico-cerca.svg) no-repeat center;
  mask: url(/img/cms/assets/ico-cerca.svg) no-repeat center;
  -webkit-mask-size: 40px 40px;
  mask-size: 40px 40px;
}
#header .search-widget .search-submit:hover::before {
  background-color: var(--colore);
}
#header .search-widget .search-submit:hover {
  color: var(--colore);
}
@media (max-width: 767px) {
    #header #header-normal #logo {
        width: 100%;
        max-width: 250px;
    }
	#header .btn-canvas.btn-canvas-cart .canvas-gr-icon {
		min-width: 80px;
	}
}
@media (min-width: 1025px) {
	#header #header-normal .btn-canvas.btn-canvas-cart .btn-canvas-text::after {
		content:"Cart";
		color: var(--nero);
		font-family: var(--font-family-semi);
		font-size: 14px;
		font-weight: 600;
		text-transform: uppercase;
		line-height: 1.1em;
	}
	body.lang-it #header #header-normal .btn-canvas.btn-canvas-cart .btn-canvas-text::after {
		content:"Carrello";
	}
	#header #header-normal .btn-canvas.btn-canvas-cart:hover .btn-canvas-text::after {
		color: var(--colore);
	}		
}
#header .btn-canvas.btn-canvas-account .btn-canvas-text {
	color: var(--nero);
	font-family: var(--font-family-semi);
	font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1.1em;
}
#header .btn-canvas.btn-canvas-account svg path {
    fill: var(--nero);
    color: var(--nero);
}
/*#header .btn-canvas.btn-canvas-account:hover {
	transition: all 0.35s ease-in-out;
	transform: scale(1.05);
	transform-origin: left;
}*/
#header .btn-canvas.btn-canvas-account:hover .btn-canvas-text {
	color: var(--colore);
}
#header .btn-canvas.btn-canvas-account:hover svg path {
    fill: var(--colore);
    color: var(--colore);
}
/*#header #logo a:hover img {
	transition: all 0.35s ease-in-out;
	transform: scale(1.05);
	transform-origin: left;
}*/
#header .sottolineato a {
    text-decoration-color: var(--grigio);
}
#header .sottolineato a:hover {
    text-decoration-color: #c3c3c3;
}
#header .elementor-widget-axps-languages img {
	display: none;
}
#header .elementor-widget-container .btn-canvas.btn-canvas-menu svg {
    width: auto;
    height: 44px;
}
#header .elementor-widget-container .btn-canvas.btn-canvas-menu:hover svg {
    transition: all 0.35s ease-in-out;
	transform: scale(1.05);
	transform-origin: left;
}
#header .elementor-widget-container .btn-canvas.btn-canvas-menu:hover svg path {
    fill: var(--colore);
    color: var(--colore);
}
/*FINE personalizzazione HEADER*/

/*INIZIO personalizzazione FOOTER*/
.elementor-newsletter .elementor-button {
    border-color: var(--colore) !important;
    background: var(--colore);
    color: var(--bianco);
	box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--colore-l) 50%, transparent);
}
.elementor-newsletter .elementor-button > .elementor-button-content-wrapper {
    font-size: 32px;
    top: -10px;
    position: relative;
}
.elementor-newsletter .elementor-button .elementor-button-icon svg path {
	fill: var(--bianco) !important;
}
.elementor-newsletter .elementor-button:hover {
    border-color: var(--colore-d) !important;
    background-color: var(--colore-d) !important;
	color: var(--bianco) !important;
    box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--colore-d) 50%, transparent);
    transition: all 0.35s ease-in-out;
	transform: scale(1.05);
	transform-origin: left;
}
/*FINE personalizzazione FOOTER*/

/*INIZIO personalizzazione HOME*/

.banner-prod .elementor-widget-container {
	display: flex;
	margin-right: 20px;
}
.banner-prod-grande .elementor-widget-container {
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	margin-right: 20px;
}
.banner-prod .elementor-cta__bg-wrapper,
.banner-prod-grande .elementor-cta__bg-wrapper {
    border: 1px solid var(--grigio-d);
    border-radius: 10px;
	margin-bottom: 10px;
	min-width: 30%;
}
.banner-prod-grande.elementor-widget-call-to-action .elementor-cta__bg,
.banner-prod.elementor-widget-call-to-action .elementor-cta__bg {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.elementor-widget-call-to-action .elementor-button {
    padding: 5px 15px 5px 15px;
    min-height: 45px;
    min-width: 85px;
	line-height: normal !important;
}
.banner-prod-grande.elementor-widget-call-to-action .elementor-cta__description {
    max-width: 300px;
}
.banner-prod > .elementor-widget-container:hover, 
.banner-prod-grande > .elementor-widget-container:hover {
    background: radial-gradient(ellipse 75% 50% at top center, var(--bianco), var(--grigio));
	border-radius: 50px 20px 20px 50px !important;
	box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--grigio) 50%, transparent);
	border: 1px solid var(--grigio-l);
	padding-top: 30px !important;
	transition: all 0.35s ease-in-out;
}
.banner-prod > .elementor-widget-container:hover .elementor-cta,
.banner-prod-grande > .elementor-widget-container:hover .elementor-cta {
    mix-blend-mode: multiply;
}
.banner-prod > .elementor-widget-container:hover .elementor-cta__bg-wrapper, 
.banner-prod-grande > .elementor-widget-container:hover .elementor-cta__bg-wrapper {
/*    border: 1px solid var(--grigio-l);
	box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--grigio) 50%, transparent);*/
	border: none;
}
.banner-prod .elementor-widget-container:not(:hover) .elementor-cta__button,
.banner-prod-grande .elementor-widget-container:not(:hover) .elementor-cta__button {
	padding-left: 0;
}
.banner-prod .elementor-widget-container:not(:hover) .elementor-cta__button > span,
.banner-prod-grande .elementor-widget-container:not(:hover) .elementor-cta__button > span {
	justify-content: flex-start !important;
}
.banner-prod:has(.elementor-widget-container:hover) .elementor-cta__button,
.banner-prod-grande:has(.elementor-widget-container:hover) .elementor-cta__button {
/*    box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--colore-l) 50%, transparent);
    background: var(--colore);
	border-color: var(--colore) !important;
	color: var(--bianco) !important;
    fill: var(--bianco) !important;*/
}
.banner-prod .elementor-cta__button-wrapper,
.banner-prod-grande .elementor-cta__button-wrapper {
    top: -10px;
	transition: all 0.35s ease-in-out;
}
.banner-prod/*:has(.elementor-widget-container:hover)*/ .elementor-cta__button-wrapper,
.banner-prod-grande/*:has(.elementor-widget-container:hover)*/ .elementor-cta__button-wrapper {
	text-align: end;
	transition: all 0.35s ease-in-out;
}
.banner-prod .elementor-widget-container .elementor-cta__title,
.banner-prod-grande .elementor-widget-container .elementor-cta__title {
    max-width: 227px;
}
.banner-prod:has(.elementor-widget-container:hover) .elementor-cta__description,
.banner-prod-grande:has(.elementor-widget-container:hover) .elementor-cta__description {
    margin-bottom: 0;
}
.banner-prod:has(.elementor-widget-container:hover) .elementor-cta__button:hover,
.banner-prod-grande:has(.elementor-widget-container:hover) .elementor-cta__button:hover {
/*	box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--nero) 50%, transparent);
	color: var(--bianco) !important;
    fill: var(--bianco) !important;
    background-color: var(--nero) !important;
    border-color: var(--nero) !important;
    transition: all 0.35s ease-in-out;
	transform: scale(1.05);
	transform-origin: left;*/
	box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--colore-l) 50%, transparent);
    background: var(--colore);
	border-color: var(--colore) !important;
	color: var(--bianco) !important;
    fill: var(--bianco) !important;
}
.banner-prod:has(.elementor-widget-container:hover) .elementor-cta__content,
.banner-prod-grande:has(.elementor-widget-container:hover) .elementor-cta__content {
    z-index: 1;
}
.banner-solu > .elementor-widget-container:hover {
    background: radial-gradient(ellipse 75% 50% at top center, var(--bianco), var(--grigio));
	transition: all 0.35s ease-in-out;
	border: 1px solid;
	border-color: var(--grigio-l) !important;
    box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--grigio) 50%, transparent);
	border-radius: 50px 20px 20px 50px !important;
}
.banner-solu > .elementor-widget-container/*:hover*/ .elementor-cta__button-wrapper {
	text-align: end;
	right: -15px;
    top: -10px;
}
/*
.banner-solu > .elementor-widget-container:hover .elementor-cta__description {
	top: -10px;
	transition: all 0.35s ease-in-out;
}*/
.banner-solu > .elementor-widget-container:not(:hover) .elementor-cta__button {
	padding-left: 0;
}
.banner-solu > .elementor-widget-container:not(:hover) .elementor-cta__button > span {
	justify-content: flex-start !important;
}
.banner-solu:has(.elementor-widget-container:hover) .elementor-cta__button {
/*    color: var(--bianco) !important;
    fill: var(--bianco) !important;
    background-color: var(--colore);
    border-color: var(--colore) !important;
	box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--colore-l) 50%, transparent);
	top: -10px;
    position: relative;*/
}
.banner-solu:has(.elementor-widget-container:hover) .elementor-cta__button:hover {
/*    color: var(--bianco) !important;
    fill: var(--bianco) !important;
    background-color: var(--nero) !important;
    border-color: var(--nero) !important;
    transition: all 0.35s ease-in-out;
	transform: scale(1.05);
	transform-origin: left;
	box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--nero) 50%, transparent);*/
	color: var(--bianco) !important;
    fill: var(--bianco) !important;
    background-color: var(--colore);
    border-color: var(--colore) !important;
	box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--colore-l) 50%, transparent);
}
.banner-solu.elementor-widget-call-to-action .elementor-cta__bg {
    background-size: 60px;
    background-repeat: no-repeat;
    background-position: left 30px top 20px;
}
.banner-solu.elementor-widget-call-to-action .elementor-cta__bg-wrapper {
    min-height: 90px;
}
.banner-solu.elementor-widget-call-to-action .elementor-cta__content {
    min-height: 220px;
    display: flex;
    align-items: stretch;
    align-content: space-around;
}
.sezione-solu {
    background-image: linear-gradient(90deg, var(--colore) 0%, var(--colore-xl) 100%), url(/img/cms/persona-al-lavoro-in-azienda-caporali-2.jpg) !important;
    background-blend-mode: hard-light;
}
.sezione-solu .titolo-ombra h2.elementor-heading-title {
	text-shadow: 0 0 5px rgba(255, 0, 0, 0.5), 0 0 10px rgba(255, 0, 0, 0.6), 0 0 20px rgba(255, 0, 0, 0.8);
}
.sezione-solu-overlap {
    background-position: top 65px left !important;
}
.sezione-solu-overlap .elementor-cta__content {
    padding: 10px 35px;
}
.banner-assi .elementor-widget-container {
    background: radial-gradient(ellipse 75% 100% at top center, var(--bianco), var(--grigio));
}
.banner-assi .elementor-widget-image {
    position: relative;
    top: -206px;
}
.banner-assi .elementor-widget-image img {
    aspect-ratio: 1;
    max-height: 400px;
    width: auto;
    object-fit: cover;
}
.banner-assi .elementor-widget-heading,
.banner-assi .elementor-widget-icon-box {
    padding: 0 40px;
}
.banner-assi .elementor-widget-text-editor > .elementor-widget-container {
    margin-left: 40px !important;
}
.banner-assi .elementor-widget-divider {
    margin-top: -10px;
    margin-bottom: 10px;
}
.banner-assi a:hover {
	color: var(--colore-l);
}
.banner-assi .elementor-cta__bg-wrapper {
	height: 50vh;
    max-height: 300px;
}
.banner-assi .elementor-cta__content {
    height: 50vh;
    max-height: 400px;
	max-width: 400px;
    margin: 0 auto;
}
.banner-assi .elementor-cta__content-item:has( > .elementor-cta__button) {
	display: none;
}
.sezione-slider .elementor-widget-slides .swiper-slide .swiper-slide-contents .elementor-slide-heading > span {
    font-family: "OxaniumRegular", Sans-serif;
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.1em;
    letter-spacing: 7px;
	display: block;
	padding-bottom: 20px;
	color: var(--colore-l);
}
.sezione-slider .swiper-pagination-bullet {
    background: var(--bianco);
}
.sezione-slider .elementor-widget-slides .swiper-slide .elementor-background-overlay {
    background: linear-gradient(to right, rgb(0 0 0 / 50%) 0%, rgba(4, 100, 78, 0) 100%);
}
.sezione-slider .slide-grande .elementor-cta__button {
    background: radial-gradient(ellipse 75% 50% at top center, oklch(0.95 0.02 11.3 / 0.35), oklab(0.6 0.2 0.15 / 1)) !important;
    box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--nero) 50%, transparent);
    border-color: var(--colore-l) !important;
    color: var(--bianco) !important;
    backdrop-filter: blur(5px);
    padding: 22px 40px 20px 40px;
}
.sezione-slider .slide-grande .elementor-cta__button:hover {
	background: radial-gradient(ellipse 75% 50% at top center, oklch(0.8 0 0 / 0.9), var(--bianco)) !important;
    box-shadow: 0 .5rem .75rem color-mix(in srgb, var(--nero) 50%, transparent);
    border-color: var(--bianco) !important;
    color: var(--colore) !important;
    transition: all 0.35s ease-in-out;
	transform: scale(1.05);
	transform-origin: left;
}
.sezione-slider .slide-media .elementor-cta__content,
.sezione-slider .slide-piccola .elementor-cta__content {
    padding: 25px 40px 20px;
}
.sezione-slider .slide-media .elementor-button,
.sezione-slider .slide-piccola .elementor-button {
    padding: 5px 0 10px;
}
.sezione-slider .slide-media .elementor-cta__button:hover,
.sezione-slider .slide-piccola .elementor-cta__button:hover {
    transition: all 0.35s ease-in-out;
	transform: scale(1.05);
	transform-origin: left;
    color: var(--colore);
    fill: var(--colore);
    text-decoration: underline;
    text-underline-offset: 6px;
    text-decoration-thickness: 1px;
}
.sezione-titolo-rotante .elementor-headline-animation-type-clip .elementor-headline-text-wrapper {
    padding: 0;
}
.sezione-slider .swiper-slide-inner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(5, 58, 45, 0.6) 50%, rgba(5, 58, 45, 0) 55%);
	border-radius: inherit;
	box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.15), -6px -6px 12px rgba(255, 255, 255, 0.2);
	opacity: 0.9;
	pointer-events: none;
}
.sezione-slider .swiper-slide-inner .swiper-slide-contents {
	z-index: 1;
}
.sezione-serv .banner-serv .elementor-icon,
.sezione-serv .banner-serv .elementor-icon svg{
	height: 80px;
	min-height: 80px;
	max-height: 80px;
}
/*INIZIO orientamento verticale del testo*/
/* 2 colonne: label (sx) + contenuto (dx) */
.sezione-serv .elementor-widget-wrap:has(> .testo-vert),
.sezione-solu .elementor-widget-wrap:has(> .testo-vert),
.sezione-prod .elementor-widget-wrap:has(> .testo-vert) {
  display: grid;
  grid-template-columns: minmax(1.6rem, 2.6rem) 1fr;
  grid-auto-rows: auto;
  gap: clamp(8px, 1.5vw, 16px);
  align-items: baseline; /* <- baseline per la prima riga (label + h2) */
}
/* LABEL verticale: niente upright, nessuna rotazione */
.sezione-serv .elementor-widget-wrap:has(> .testo-vert) > .testo-vert,
.sezione-solu .elementor-widget-wrap:has(> .testo-vert) > .testo-vert,
.sezione-prod .elementor-widget-wrap:has(> .testo-vert) > .testo-vert {
  writing-mode: vertical-rl;      /* lettere ruotate (default) */
  white-space: nowrap;
  grid-column: 1;
  grid-row: 1;                    /* stessa riga dell’h2 */
  align-self: flex-end;           /* aiuta i browser meno pignoli */
  margin: 0; padding: 0;          /* pulizia */
  transform: rotate(180deg);
  margin-bottom: 25px;
}
/* H2: mettilo esplicitamente in colonna 2, riga 1 */
.sezione-serv .elementor-widget-wrap:has(> .testo-vert) 
  > .elementor-element[data-id="7409593c"],
.sezione-solu .elementor-widget-wrap:has(> .testo-vert) 
  > .elementor-element[data-id="57c646f9"],
.sezione-prod .elementor-widget-wrap:has(> .testo-vert) 
  > .elementor-element[data-id="168a3b62"] {
  grid-column: 2;
  grid-row: 1;
  align-self: baseline;
}
/* Tutto il resto dei widget va SOTTO e occupa entrambe le colonne */
.sezione-serv .elementor-widget-wrap:has(> .testo-vert) 
  > :not(.testo-vert):not([data-id="7409593c"]),
.sezione-solu .elementor-widget-wrap:has(> .testo-vert) 
  > :not(.testo-vert):not([data-id="57c646f9"]),
.sezione-prod .elementor-widget-wrap:has(> .testo-vert) 
  > :not(.testo-vert):not([data-id="168a3b62"]) {
  grid-column: 1 / -1;
  grid-row: 2;
}
/* Ritocchino estetico opzionale sullo span della label */
.sezione-serv .elementor-widget-wrap:has(> .testo-vert) 
  > .testo-vert .elementor-heading-title,
.sezione-solu .elementor-widget-wrap:has(> .testo-vert) 
  > .testo-vert .elementor-heading-title,
.sezione-prod .elementor-widget-wrap:has(> .testo-vert) 
  > .testo-vert .elementor-heading-title {
  letter-spacing: .15em;
  line-height: 1;
  text-align: center;
  opacity: .9;
}
/* Rende il testo "Caporali" verticale dentro l'h1 */
.sezione-slider .slide-grande .elementor-cta__title span {
  display: inline-block;       /* necessario per writing-mode */
  writing-mode: vertical-rl;   /* testo in verticale */
  transform: rotate(180deg);   /* leggibile dal basso verso l’alto */
  line-height: 1;
  margin-inline-end: 0.5rem;   /* spazio tra "Caporali" e il testo successivo */
  white-space: nowrap;
  font-size: 16px;
  font-weight: 400;
  color: var(--colore-l);
  margin-bottom: 20px;
  letter-spacing: .15em;
  line-height: 1;
  text-align: center;
  opacity: .9;
}
/* Opzionale: stile per armonizzarlo con il resto */
.sezione-slider .slide-grande .elementor-cta__title {
  display: flex;
  align-items: flex-end;       /* allinea bene la base del testo */
  gap: 1.5rem;
  max-width: 80%;
  width: 700px;
  text-shadow: 0 0 5px rgb(0 0 0 / 10%), 0 0 10px rgb(0 0 0 / 20%), 0 0 20px rgb(0 0 0 / 40%);
}
.sezione-slider .slide-grande .elementor-cta__description {
    max-width: 80%;
    width: 550px;
}
/*FINE orientamento verticale del testo*/
@media (max-width: 767px) {
	.banner-prod:nth-child(even) .elementor-widget-container > .elementor-cta,
	.banner-prod-grande:nth-child(even) .elementor-widget-container > .elementor-cta {
		flex-direction: row-reverse;
	}
	.banner-prod:nth-child(even) .elementor-widget-container > .elementor-cta .elementor-cta__content,
	.banner-prod-grande:nth-child(even) .elementor-widget-container > .elementor-cta .elementor-cta__content {
		padding-left: 5px;
	}
	.banner-prod .elementor-widget-container, 
	.banner-prod-grande .elementor-widget-container {
		justify-content: space-around;
	}
}
@media (max-width: 1024px) {
    .banner-prod-grande.elementor-widget-call-to-action .elementor-cta {
            width: 100%;
    }
}
@media (min-width: 768px) {
	.sezione-solu .titolo-max-w .elementor-heading-title,
	.sezione-serv .titolo-max-w .elementor-heading-title,
	.sezione-prod .titolo-max-w .elementor-heading-title {
		max-width: 80%;
        width: 700px;
	}
	.sezione-slider .swiper-slide-inner {
		align-items: center;
	}
	.banner-prod {
		display: flex;
		max-width: 50%;
	}	
}
@media (min-width: 768px) and (max-width: 1024px) {
	.banner-serv .elementor-widget-icon-box .elementor-icon-box-wrapper {
        display: flex;
        gap: 20px;
    }
	.banner-solu.elementor-widget-call-to-action .elementor-cta__content {
		min-height: 265px;
	}
}
@media (min-width: 1025px) and (max-width: 1105px) {
	.banner-prod.elementor-widget-call-to-action .elementor-cta__description:not(:last-child),
	.banner-prod-grande.elementor-widget-call-to-action .elementor-cta__description:not(:last-child) {
		font-size: 14px;
	}
}
@media (min-width: 1025px) {
	.banner-prod .elementor-widget-container {
		height: 230px;
	}
	.banner-prod-grande .elementor-widget-container {
		height: 480px;
	}
	.banner-solu.elementor-widget-call-to-action .elementor-cta__bg {
		background-size: 90px;
	}
	.banner-solu.elementor-widget-call-to-action .elementor-cta__content {
		align-content: space-between;
	}
	.banner-solu.elementor-widget-call-to-action .elementor-cta__bg-wrapper {
		min-height: 120px;
	}
}
/*sistemazione slider home*/
.sezione-slider .swiper-slide-bg {
	background-position: center;
	transform-origin: center center;
	animation: kenburns-in 12s ease-in-out forwards;
}
/* Effetto Ken Burns “in” */
@keyframes kenburns-in {
  0% {
    transform: scale(1) translate(0, 0);
    filter: brightness(100%);
  }
  100% {
    transform: scale(1.15) translate(-2%, -2%);
    filter: brightness(105%);
  }
}
/* Solo quando attivo */
.elementor-ken-burns--active .swiper-slide-bg {
  animation: kenburns-in 12s ease-in-out forwards;
}
@media (min-width:1670px){
    .fix-last-slide-on-init {
        position: fixed;
        right: 100%;
    }
    body#index .swiper-slide {
        border-radius: 20px;
    }
}
/*FINE personalizzazione HOME*/

