/**
 * Theme Name:     Nextawards Child
 * Author:         Carlo Campinoti
 * Template:       nextawards
 * Text Domain:	   nextawards-child
 * Description:    Responsive Starter WordPress Theme (WooCommerce Ready) with: Minimal Style, 4 Header Style, 2 Menus, 11 Amazing Block Patterns, Trasparent Header Template, WhatsApp Chat, Cool animations, Light and fast, Full Site Editing Template! Inspired by Awards Winning Web Sites. Correct setup and installation in theme folder readme file ;)
 */


/* parametri sito */
:root { 
    --site-bg: #FFF7F6 !important; 
    --site-text-color: #1D0602 !important; 
    --link-color: #E4C3BD !important; 
    --link-color-hover: #452F2B !important;
    --contrast: #E1D0CC !important;
  	--contrast-green:#E5EBE3 !important;
    --radius: 20px;
    --shadow-color: rgba(0,0,0,0.2);
    --cover-bg-default: url('custom/asset/images/bg-hero.png'); /* Includi url() */
}

.wrapper{padding:0 !important;}
.bg-green{background:var(--contrast-green)!important;}

/* cormorant-garamond-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/cormorant-garamond-v21-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cormorant-garamond-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/cormorant-garamond-v21-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cormorant-garamond-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/cormorant-garamond-v21-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/lato-v25-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/lato-v25-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/lato-v25-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lato-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/lato-v25-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

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

h1, .text-1 {font-size: clamp(2.5rem, 5vw, 3.4rem) !important; line-height: clamp(3rem, 6vw, 4rem); font-family: 'Cormorant Garamond' !important; font-weight: 500;}
h2, .text-2 {font-size: clamp(1.8rem, 3.5vw, 2.2rem)!important; line-height: clamp(2.2rem, 4.5vw, 3rem); font-family: 'Cormorant Garamond' !important; font-weight: 700;}
h3, .text-3 {font-size: clamp(1.2rem, 2.5vw, 1.5rem)!important; line-height: clamp(1.6rem, 3vw, 2.2rem); font-family: 'Cormorant Garamond' !important; font-weight: 600;}
h4, p, .text-4 {font-size: clamp(1rem, 2vw, 1.1rem) !important; line-height: clamp(1.4rem, 2.2vw, 1.5rem) !important; font-family: 'Lato', serif !important; font-weight: 400;}
a {font-family: 'Lato' !important; font-weight: 400;}
.button a{font-size: clamp(0.9rem, 2vw, 1rem) !important;}
a strong{font-weight: 700;}
body{font-family: 'Lato', serif !important;font-weight: 500;}

.allison{font-family: 'Allison' !important;font-size: 80px !important;color: #FF0000 !important;}


.text-big {font-size: clamp(2.5rem, 12vw, 8rem)!important;}
.text-big-c {font-size: clamp(2.5rem, 10vw, 7rem)!important;}
.text-2bis{font-weight: 400 !important; font-size: clamp(2rem, 4vw, 2.5rem) !important;}

.text-3bis{font-size: clamp(1.1rem, 2.2vw, 1.3rem);line-height: clamp(1.6rem, 3vw, 2.2rem); font-family: 'Manrope'; font-weight: 400;}
.targhetta{
  display: block;
  letter-spacing: 2px !important;
  font-family: 'Lato'!important;font-size: clamp(1rem, 2vw, 1.1rem)!important;
  color:var(--site-text-color);
}

/* bottoni */
.woocommerce.woocommerce-page .button,
.button{background-color:var(--link-color) !important;
    padding:10px 35px !important;  font-size: clamp(1rem, 2vw, 1.1rem) !important;
    border-radius:var(--radius) !important; font-weight: 600 !important;border: none;
    width: fit-content; filter: brightness(1);box-shadow: 0 0 0px rgba(255,255,255,0.1);
    transition: all 0.5s cubic-bezier(.215, .61, .355, 1);
}

.woocommerce.woocommerce-page .button:hover,
.button:hover{background-color:var(--link-color-hover) !important;}

.button a{padding:0 !important;color:var(--site-text-color);background-color: transparent!important; text-transform:uppercase;}
.button:hover{
  filter: brightness(1.2);
  cursor:pointer;box-shadow: 0 0 30px rgba(255,255,255,0.8);
}
.button:hover a{color: var(--site-bg);}

.info_button{padding:10px 35px !important;  font-size: clamp(1rem, 2vw, 1.1rem) !important;margin-top: 10px !important;
    border-radius:var(--radius) !important; font-weight: 600 !important;
    width: fit-content;
    transition: all 0.5s cubic-bezier(.215, .61, .355, 1);
  	border: 1px solid var(--link-color);
}
.info_button a{padding:0 !important; text-transform:uppercase;}
.header .info_button a{color:var(--text-site-color);}
.scroll-down .header .info_button{background-color:var(--link-color) !important;}
.info_button:hover{cursor:pointer;}
.info_button:hover a{color:var(--site-text-color);}


.simple_button{background:transparent;
    padding:5px 0px !important;  font-size: clamp(1rem, 2vw, 1.1rem) !important;margin-top: 10px !important;
    font-weight: 600 !important;border-bottom:1px solid var(--link-color-hover) !important ;
    color:var(--link-color-hover) !important;
    transition: all 0.5s cubic-bezier(.215, .61, .355, 1);}

.taxonomy_button{
    border-radius: 0.25rem ;    background-color: var(--text-contrast-lite) ;
    padding: 10px 25px;  font-size: 17px ;margin-top: 10px !;
    text-transform: uppercase; font-weight: bold;border: none;
    color:var(--site-text-color);transition: all 1s cubic-bezier(.215, .61, .355, 1);
}
.taxonomy_button:hover{padding:10px 45px;cursor:pointer;}

.scroll-down .header .menu li.info_button a{color: var(--site-bg);}
.scroll-down .header .menu .info_button:hover a{color: var(--site-text-color);}


:root :where(.wp-element-button, .wp-block-button__link) {
    background-color: inherit; 
    border-width: inherit; 
    color: inherit; 
    font-family: inherit; 
    font-size: inherit; 
    line-height: inherit;
    padding: 0;
    text-decoration: none;
}



.swiperMain {
    width: 100%;
    height: 80vh;
}

.swiperMain .swiper-slide {
    background-position: center;
    background-size: cover;
}

.swiperMain .swiper-slide img {
    display: block;
    width: 100%;
}
.swiper-button-prev, .swiper-button-next{top:90% !important;}

.single-caso-studio .spacer,
.page-template-charlie .spacer{height: 0px;}
.single-caso-studio .wrapper,
.page-template-charlie .wrapper{padding: 0px;}
.wrapper{overflow: hidden !important;}


/* ------------------------------------------------------------------------- *
/* Header  */
/* ------------------------------------------------------------------------- */

/* Menu transparent */
@media (min-width: 1190px) {
  .archive .spacer,
  .page-template-menu-trasparent .spacer{display: none;}
  .archive .header,
  .page-template-menu-trasparent .header{background: transparent !important;transition: all 1s cubic-bezier(.215, .61, .355, 1);}
  .archive .header__content,
  .page-template-menu-trasparent .header__content{border:none}
  .menu > li.menu-item-has-children > a::after,
  .page-template-menu-trasparent .header__logo-img,
  .page-template-menu-trasparent .header [class^='icon-']{filter: brightness(0) invert(1);}
  .single-product .header .menu > li.menu-item-has-children > a::after{filter:invert(0);}
  .page-template-menu-trasparent .header__logo{color:#fff}
	
  .archive .menu li a,
  .page-template-menu-trasparent .menu li a,
  .page-template-menu-trasparent .header__quick ul li a {color:#fff}
  .archive.scroll-down .header,
  .page-template.page-template-menu-trasparent.scroll-down .header{background:var(--link-color-hover) !important;}
  
  .archive .sub-menu li a{color:var(--site-text-color);}
}

@media (max-width: 1190px) {
  .page-template-menu-trasparent .spacer{height:44px}
  .page-template-menu-trasparent .header__content{border:none}
}



header{background:var(--site-bg) !important;}
.home header{background:transparent !important;}
.scroll-down header{background:var(--link-color-hover)!important;}
.scroll-down header .menu li a{color:var(--site-bg)!important;}
.scroll-down header .sub-menu li a{color:var(--site-text-color )!important;}
@media(max-width:768px){
  .page-template-menu-trasparent .spacer{height:0px !important;}
}

header .header__logo-img{
  width: 200px;height: auto;
  transition: all 0.5s cubic-bezier(.215, .61, .355, 1);
  filter:invert(0) !important;
}
.scroll-down.single-product .header .menu > li.menu-item-has-children > a::after,
.page-id-73 header .header__logo-img,
.single-product header .header__logo-img{filter:invert(1) !important;}

.page-id-73.scroll-down header .header__logo-img,
.scroll-down.single-product header .header__logo-img{ filter:invert(0) !important;}
.scroll-down header .header__logo-img{width: 120px;height: auto;}
.header__logo-motto{font-size: 12px;font-weight: 400;}

header .header__content {
    padding: 20px 0;
    border-bottom: transparent;
    position: relative;
}


.footer .header__logo{position: relative; left: inherit; transform: translate(0);}

header nav{padding-right:65px;}

header .menu > li > ul.sub-menu{
  left:-300px !important;
  flex-wrap: nowrap !important;
  width: auto !important;
}

/* ------------------------------------------------------------------------- */
/* Home  */
/* ------------------------------------------------------------------------- */

.benefit img{height: 30px !important;object-fit: contain !important;}

.metodo {
    width: 30px !important;
    height: 30px !important;
    aspect-ratio: 1/1;
    object-fit: contain !important;
    margin-left: 0px !important;
  	margin-top:10px !important;
}
.risultato {
    height: 40px !important;
    object-fit: contain !important;
    margin-left: 0px !important;
  	margin-top:10px !important;
}


/* ! Gallery  */
/* ----------------------------------------------------------------------------------- */
.cw-gallery-swiper.swipe{max-width:100%;}
.cw-gallery-card{
  border-radius:var(--radius);
  overflow: hidden;
  transform: translateZ(0);
}
.cw-gallery-card__media{
  aspect-ratio: 1/1; 
}
.cw-gallery-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* ! Partner  */
/* ----------------------------------------------------------------------------------- */
/* Container dello shortcode */
.container{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

/* Carousel wrapper */
.carousel{
  margin: 0 auto;
  padding: 20px 0;
  width: 100%;
  overflow: hidden;
  display: flex;

  /* fade ai bordi (facoltativo ma bello) */
  -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

/* Gruppi (duplicati) */
.group{
  display: flex;

  /* IMPORTANT: il gruppo non deve "restringersi" */
  flex: 0 0 auto;

  animation: scrolling 25s linear infinite;
  will-change: transform;
}

/* Card */
.card{
  width: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 0 0 auto; /* evita shrink */
}

/* Link dentro card: cliccabile tutta l'area */
.card > a{
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: inherit;
  text-decoration: none;
}

/* Hover/focus: feedback */
.card > a:hover{
  transform: translateY(-1px);
}
.card > a:focus-visible{
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

/* Immagine */
.card img{
  max-width: 60%;
  height: auto;
  display: block;
}

/* Animazione: sposta di UNA copia del contenuto */
@keyframes scrolling{
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* Pause su hover */
.carousel:hover .group{
  animation-play-state: paused;
}

/* Mobile */
@media (max-width: 600px){

  .group{
    animation: scrolling 15s linear infinite;
    gap: 10px;
    padding-right: 10px;
  }

  .card{
    width: 40vw;
    height: auto;
    aspect-ratio: 3 / 2;
    border-radius: 15px;
  }

  .card img{
    max-width: 70%;
  }
}

/* Riduzione movimento (accessibilità) */
@media (prefers-reduced-motion: reduce){
  .group{ animation: none; }
}





/* ! Sezione - FAQ  */
/* ----------------------------------------------------------------------------------- */

.content-accordion--show{max-height:800px;display: block !important;
    transform: translateY(0);
    opacity: 1;transition: all 0.5s cubic-bezier(.215, .61, .355, 1);}
p.content-accordion--show{margin-bottom: 10px;max-height:800px;display: block !important;
    transform: translateY(0);
    opacity: 1;transition: all 0.5s cubic-bezier(.215, .61, .355, 1);}
.title-accordion{
    cursor: pointer;position:relative;
    width: 90%;
}
.title-accordion:after{
    content: ' ';width: 20px;height: 20px;
    background: url(asset/icons/arrow-down.svg);
    background-size: contain;background-position: center center;background-repeat: no-repeat;
    position: absolute; top: 7px;right: -15%;
    transition: all 1s cubic-bezier(.215, .61, .355, 1);
    @media(width < 769px){
      right: -15%;
    }
}
.accordion-icon.title-accordion:after{transform: scaleY(-1); transition: all 1s cubic-bezier(.215, .61, .355, 1);}
.sez-faq {
    gap: 20px;display: flex; flex-direction: row;align-items: flex-start;
    background: var(--contrast); padding: 50px 5vw 50px 5vw;
    color: var(--site-text-color);
}
.faq{
    gap:5px;
    padding: 15px 0px;border-radius: var(--radius-default);    
    color: var(--site-text-color);
    cursor: pointer;
    @media(width < 998px){
        border-bottom: 1px solid #4e4c4c;
        padding: 15px 0;
    }
    
}
.faq:last-child{padding-bottom: 0px;}
.t-none {
    max-height: 0;
    transform: translateY(-50px);
    opacity: 0;
}

@media (max-width:998px){

}

@media (max-width: 769px){
    .sez-faq .faq,
    .sez-faq .title{max-width: 100%;margin: 0 auto;padding-top: 0px;}
}




/* ------------------------------------------------------------------------- *
/* Woocommerce  */
/* ------------------------------------------------------------------------- */
.woocommerce-result-count,
.woocommerce-ordering{display:none;}
.woocommerce-shop h1{display:block !important;}
.shop-hero{
  background-size: cover;
  background-position: center;
  overflow: hidden;
  margin: 0 0 30px;
  height:50vh;
}
.woocommerce-shop .shop-hero{height:40vh;}
.shop-hero__overlay{
  width:100%;height:100%;
  padding: 70px 20px;
  background: rgba(70,56,53,0.7);
}
.shop-hero__inner{
  display:flex;
  align-items:center;justify-content:center;
  flex-direction:column;
  max-width: 900px;
  height:100%;
  margin: 0 auto;
  color: #fff;
}
.shop-hero__title{
  margin: 0 0 10px;
}
.shop-hero__desc p{
  margin: 0;
  max-width: 70ch;
}

/* shop product*/

h2.woocommerce-loop-product__title{
  font-size: clamp(1.2rem, 2.5vw, 1.5rem)!important; 
  line-height: clamp(1.6rem, 3vw, 2.2rem); 
  font-family: 'Cormorant Garamond' !important; font-weight: 600;
}

.woocommerce .products ul, 
.woocommerce ul.products{  
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: clamp(24px, 4vw, 40px);}
.woocommerce ul.products.columns-3 li.product, 
.woocommerce-page ul.products.columns-3 li.product{width:100% !important;}

.woocommerce .products ul::after, 
.woocommerce .products ul::before, .woocommerce ul.products::after, 
.woocommerce ul.products::before{content:none;}

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{margin:0px !important;}

.shop-layout.has-sidebar{
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 32px;
  align-items: start;
}

.shop-sidebar{
  position: sticky;
  top: 24px;
}

@media (max-width: 1024px){
  .shop-layout.has-sidebar{
    grid-template-columns: 1fr;
  }
  .shop-sidebar{
    position: static;
  }
}


.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{
  box-shadow:0 0 30px rgba(0,0,0,0.2);
  padding:20px; border-radius:var(--radius);
}
.woocommerce ul.products li.product a img{height:20vh;object-fit:contain;}
.woocommerce.archive ul.products li.product a img{height:20vh;object-fit:contain;background:#fff;}


.archive.woocommerce ul.products li.product .button{display:block;}
.archive .add_to_cart_button{width:100% !important; text-align:center !important;}
.archive li.product a{color:var(--site-text-color);}
.archive li.product{    
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}


/* product */

.woocommerce-product-gallery > div{height:fit-content !important;}

.woocommerce-variation-add-to-cart.variations_button{    
  display: flex;
  align-items: center;
  gap: 10px;
}

.woocommerce div.product div.images img{height:35vh;object-fit:contain;}

form.variations_form select#colori,
form.variations_form select[name="attribute_pa_colori"]{
  display:none !important;
}

.cwd-swatches{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.cwd-swatch{
  padding:8px 12px;
  border:1px solid rgba(0,0,0,.2);
  border-radius:999px;
  background:#fff;
  cursor:pointer;
}

.cwd-swatch.is-selected{
  border-color: rgba(0,0,0,.75);
  box-shadow: 0 0 0 2px rgba(0,0,0,.10);
  
}



/* immagine del prodotto */
.single-product .swiper-slide img{    
  height: 100%; max-width: 100%;
  object-fit: cover;
}

.swiper-pagination-bullet-active{background:var(--link-color) !important;}
.swiper-button-next, .swiper-button-prev {
    color: var(--link-color) !important;
  
}

/* Nascondo la select dei colori */
form.variations_form select[name="attribute_pa_colori"]{
  display:none !important;
}

/* Wrapper */
.cwd-img-swatches{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
  margin-right:15px;
}

/* Swatch (immagine) */
.cwd-img-swatch{
  width:44px;
  height:44px;
  padding:0;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  cursor:pointer;
  overflow:hidden;
  position:relative;
}

.cwd-img-swatch img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.cwd-img-swatch.is-selected{
  outline:2px solid rgba(0,0,0,.75);
  outline-offset:2px;
}

.cwd-img-swatch.is-disabled{
  opacity:.35;
  cursor:not-allowed;
}

.cwd-fallback-label{
  font-size:12px;
  padding:6px;
  display:block;
}

.variations th.label{text-align:left;}
.variations tr{display:flex; align-items:center;justify-content:flex-start; gap:30px;}
.woocommerce div.product form.cart .variations td{display:flex;align-items:center;}

/* =========================================================
   WooCommerce Product Gallery – Swiper Thumbs (vertical)
   ========================================================= */
.woocommerce div.product{display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 7%;}

.cwd-wc-gallery { width: 45%; 
  @media(width < 998px){width:100%;}
}
.cwd-wc-gallery-main { width: 100%; }
.cwd-wc-gallery-img { width: 100%; height: auto; display: block; }

.cwd-wc-gallery-thumbs { margin-top: 12px; }
.cwd-wc-gallery-thumb { width: 100%; height: auto; display: block; opacity: .7; cursor: pointer; }
.cwd-wc-gallery-thumbs .swiper-slide-thumb-active .cwd-wc-gallery-thumb { opacity: 1; }

.cwd-wc-gallery-main .swiper-wrapper{height: 50vh;
  @media(width < 998px){height:30vh;}
}

/**********************************************/
/* product-hightlight */

.cwd-product-highlights{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top:16px;
  align-items:flex-start;
}

@media (min-width: 768px){
  .cwd-product-highlights{
    grid-template-columns: repeat(4, minmax(0,1fr));
  }
}

.cwd-ph-card{
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:center;
  justify-content:center;
}

.cwd-ph-icon svg{
  width:auto !important;
  height:28px !important;
  flex:0 0 auto;
  display:block;
}
.cwd-ph-icon svg path{
  fill:var(--link-color-hover);
}
.cwd-ph-icon > svg path{
  stroke:var(--link-color-hover);
  fill:none !Important;
}


.cwd-ph-text{
  font-size:15px;
  line-height:1.2;
  opacity:.85;
  text-align:center;
}
/***************/

.related.products li{width:100% !important;}


/* ! - Minicart */
.nav-wrap .grid{position: relative}


.minicart { list-style-type : none; margin : 0px; width : 270px; max-height : 0px; 
  position:absolute;top : 54px; right : 0px;
  overflow : hidden;  z-index : 99; background : #ffffff; box-shadow : 0 15px 15px rgba(0,0,0,0.08); }
.minicart__inside { padding : 20px; position: relative;}
.minicart .widget { margin-bottom : 0; }
.minicart .widget li { position : relative; margin-top : 5px!important; display: block;width: 100%}
.minicart .widget li a { border : none; padding : 0px 0 0 0; color:#000;}
.minicart .widget a.button { padding : 10px; }
.minicart .widget_shopping_cart .total{ padding-top : 20px; border:none;margin-bottom: 15px;}
.minicart .widget_shopping_cart .woocommerce-mini-cart__total:before{
  height: 15px;
  bottom: 0; left:0;
  width: 100%;
  content: ' ';
  display: block;
  margin-top: -40px;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
  position: relative;
  z-index: 2;
  margin-bottom: 20px;
}
.minicart .woocommerce-mini-cart__buttons { margin-bottom : 0; }

.cart-icon { display : block; position : absolute; top: 32px; right : 16px;  z-index : 30; 
  @media(width < 768px){    top: 10px;
    right: 56px;}
}
.cart-icon .cart-contents { cursor : pointer; color : #333;  font-size : 22px;padding: 7px; }
.cart-icon .cart-contents__number {
  position : absolute;
  height : 20px;
  width : 20px;
  line-height : 20px;
  border-radius : 20px;
  text-align : center;
  font-size : 11px; right : -15px;top:10px;
  font-weight : bold; background : #fe316d; color : #ffffff;
}

.woocommerce-mini-cart__buttons { margin-bottom : 0; }
.cart--open { min-height : 50px; max-height : 600px; }

.woocommerce ul.cart_list,
.woocommerce ul.product_list_widget {max-height: 240px; overflow: auto;position: relative;}

.cart-icon .icon-shopping-cart::before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background-image: url("asset/icons/cart.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}



/* ------------------------------------------------------------------------- *
/* Footer  */
/* ------------------------------------------------------------------------- */

footer{background:#1F0701;}

footer svg{width: 22px !important; height: auto !important;}
footer .menu_footer li{list-style-type: none;}
footer .menu_footer{padding: 0;}

footer .copy a{color:var(--contrast);}

footer p{color:var(--site-bg);}


/* sticky */

@media (min-width: 769px) {
  .sticky-sidebar {
    position: sticky;
    top: 150px; /* regola in base all'altezza dell'header */
    align-self: flex-start;
    height: fit-content;
  }
}


@media(max-width:769px){
  .sticky-sidebar{margin-top: 3rem;}
}
@media(max-width:1069px){
  .single-team .sticky-sidebar{margin-top: 3rem;
    position: relative;
    top: inherit; /* regola in base all'altezza dell'header */
    align-self: inherit;
    height:inherit;
  }
}

/* ------------------------------------------------------------------------- *
/* 5 Helpers  */
/* ------------------------------------------------------------------------- */

figure{width: 100%; height: 100%;}
figure img,
figure a,
figure a img{width: 100%;height: 100%!important;object-fit: cover;}
/* ! Grid System */
.grid { margin: 0 auto;display: flex; flex-flow: row; flex-wrap: wrap;width: 100%;max-width: 100%;}
.grid--center{justify-content: center;}
.col{ flex: 1;}

[class*='col-'] { position: relative;padding: 0 1%;}
.grid .grid [class*='col-'] {padding: 0px;}

.col-10{ width: 10%;}
.col-20{ width: 20%; }
.col-25{ width: 25%; }
.col-30{ width: 30%; }
.col-33{ width: 33.33%; }
.col-40{ width: 40%; }
.col-50{ width: 50%; }
.col-60{ width: 60%; }
.col-70{ width: 70%; }
.col-80{ width: 80%; }
.col-90{ width: 90%; }
.col-100{ width: 100%; }


/* Margin-bottom positivi con clamp */
.mb-0{margin-bottom: 0 !important;}
.mb-1  { margin-bottom: clamp(0.5rem, 1vw, 1rem) !important; }
.mb-2  { margin-bottom: clamp(1rem, 2vw, 2rem) !important; }
.mb-3  { margin-bottom: clamp(1.5rem, 3vw, 3rem) !important; }
.mb-4  { margin-bottom: clamp(2rem, 4vw, 4rem) !important; }
.mb-5  { margin-bottom: clamp(2.5rem, 5vw, 5rem) !important; }
.mb-6  { margin-bottom: clamp(3rem, 6vw, 6rem) !important; }
.mb-7  { margin-bottom: clamp(3.5rem, 7vw, 7rem) !important; }
.mb-8  { margin-bottom: clamp(4rem, 8vw, 8rem) !important; }
.mb-9  { margin-bottom: clamp(4.5rem, 9vw, 9rem) !important; }
.mb-10 { margin-bottom: clamp(5rem, 10vw, 10rem) !important; }
.mb-11 { margin-bottom: clamp(5.5rem, 11vw, 11rem) !important; }
.mb-12 { margin-bottom: clamp(6rem, 12vw, 12rem) !important; }
.mb-13 { margin-bottom: clamp(6.5rem, 13vw, 13rem) !important; }
.mb-14 { margin-bottom: clamp(7rem, 14vw, 14rem) !important; }
.mb-15 { margin-bottom: clamp(7.5rem, 15vw, 15rem) !important; }

/* Margin-bottom negativi con clamp */
.mb--1  { margin-bottom: clamp(-1rem, -1vw, -0.5rem) !important; }
.mb--2  { margin-bottom: clamp(-2rem, -2vw, -1rem) !important; }
.mb--3  { margin-bottom: clamp(-3rem, -3vw, -1.5rem) !important; }
.mb--4  { margin-bottom: clamp(-4rem, -4vw, -2rem) !important; }
.mb--5  { margin-bottom: clamp(-5rem, -5vw, -2.5rem) !important; }
.mb--6  { margin-bottom: clamp(-6rem, -6vw, -3rem) !important; }
.mb--7  { margin-bottom: clamp(-7rem, -7vw, -3.5rem) !important; }
.mb--8  { margin-bottom: clamp(-8rem, -8vw, -4rem) !important; }
.mb--9  { margin-bottom: clamp(-9rem, -9vw, -4.5rem) !important; }
.mb--10 { margin-bottom: clamp(-10rem, -10vw, -5rem) !important; }
.mb--11 { margin-bottom: clamp(-11rem, -11vw, -5.5rem) !important; }
.mb--12 { margin-bottom: clamp(-12rem, -12vw, -6rem) !important; }
.mb--13 { margin-bottom: clamp(-13rem, -13vw, -6.5rem) !important; }
.mb--14 { margin-bottom: clamp(-14rem, -14vw, -7rem) !important; }
.mb--15 { margin-bottom: clamp(-15rem, -15vw, -7.5rem) !important; }
.mb--16 { margin-bottom: clamp(-16rem, -16vw, -8rem) !important; }

/* === Responsive Margin Right === */
.mr-0{margin-right: 0 !important;}
.mr-1  { margin-right: clamp(0.5rem, 1vw, 1rem) !important; }
.mr-2  { margin-right: clamp(1rem, 2vw, 2rem) !important; }
.mr-3  { margin-right: clamp(1.5rem, 3vw, 3rem) !important; }
.mr-4  { margin-right: clamp(2rem, 4vw, 4rem) !important; }
.mr-5  { margin-right: clamp(2.5rem, 5vw, 5rem) !important; }
.mr-6  { margin-right: clamp(3rem, 6vw, 6rem) !important; }
.mr-7  { margin-right: clamp(3.5rem, 7vw, 7rem) !important; }
.mr-8  { margin-right: clamp(4rem, 8vw, 8rem) !important; }
.mr-9  { margin-right: clamp(4.5rem, 9vw, 9rem) !important; }
.mr-10 { margin-right: clamp(5rem, 10vw, 10rem) !important; }
.mr-11 { margin-right: clamp(5.5rem, 11vw, 11rem) !important; }
.mr-12 { margin-right: clamp(6rem, 12vw, 12rem) !important; }
.mr-13 { margin-right: clamp(6.5rem, 13vw, 13rem) !important; }
.mr-14 { margin-right: clamp(7rem, 14vw, 14rem) !important; }
.mr-15 { margin-right: clamp(7.5rem, 15vw, 15rem) !important; }

/* === Responsive Margin Right Negative === */
.mr--1  { margin-right: clamp(-1rem, -1vw, -0.5rem) !important; }
.mr--2  { margin-right: clamp(-2rem, -2vw, -1rem) !important; }
.mr--3  { margin-right: clamp(-3rem, -3vw, -1.5rem) !important; }
.mr--4  { margin-right: clamp(-4rem, -4vw, -2rem) !important; }
.mr--5  { margin-right: clamp(-5rem, -5vw, -2.5rem) !important; }
.mr--6  { margin-right: clamp(-6rem, -6vw, -3rem) !important; }
.mr--7  { margin-right: clamp(-7rem, -7vw, -3.5rem) !important; }
.mr--8  { margin-right: clamp(-8rem, -8vw, -4rem) !important; }
.mr--9  { margin-right: clamp(-9rem, -9vw, -4.5rem) !important; }
.mr--10 { margin-right: clamp(-10rem, -10vw, -5rem) !important; }
.mr--11 { margin-right: clamp(-11rem, -11vw, -5.5rem) !important; }
.mr--12 { margin-right: clamp(-12rem, -12vw, -6rem) !important; }
.mr--13 { margin-right: clamp(-13rem, -13vw, -6.5rem) !important; }
.mr--14 { margin-right: clamp(-14rem, -14vw, -7rem) !important; }
.mr--15 { margin-right: clamp(-15rem, -15vw, -7.5rem) !important; }
.mr--16 { margin-right: clamp(-16rem, -16vw, -8rem) !important; }

/* === Responsive Margin (All sides) === */
.m-0{margin:0 !important;}
.m-1  { margin: clamp(0.5rem, 1vw, 1rem) !important; }
.m-2  { margin: clamp(1rem, 2vw, 2rem) !important; }
.m-3  { margin: clamp(1.5rem, 3vw, 3rem) !important; }
.m-4  { margin: clamp(2rem, 4vw, 4rem) !important; }
.m-5  { margin: clamp(2.5rem, 5vw, 5rem) !important; }
.m-6  { margin: clamp(3rem, 6vw, 6rem) !important; }
.m-7  { margin: clamp(3.5rem, 7vw, 7rem) !important; }
.m-8  { margin: clamp(4rem, 8vw, 8rem) !important; }
.m-9  { margin: clamp(4.5rem, 9vw, 9rem) !important; }
.m-10 { margin: clamp(5rem, 10vw, 10rem) !important; }
.m-11 { margin: clamp(5.5rem, 11vw, 11rem) !important; }
.m-12 { margin: clamp(6rem, 12vw, 12rem) !important; }
.m-13 { margin: clamp(6.5rem, 13vw, 13rem) !important; }
.m-14 { margin: clamp(7rem, 14vw, 14rem) !important; }
.m-15 { margin: clamp(7.5rem, 15vw, 15rem) !important; }

/* === Responsive Margin Negative (All sides) === */
.m--1  { margin: clamp(-1rem, -1vw, -0.5rem) !important; }
.m--2  { margin: clamp(-2rem, -2vw, -1rem) !important; }
.m--3  { margin: clamp(-3rem, -3vw, -1.5rem) !important; }
.m--4  { margin: clamp(-4rem, -4vw, -2rem) !important; }
.m--5  { margin: clamp(-5rem, -5vw, -2.5rem) !important; }
.m--6  { margin: clamp(-6rem, -6vw, -3rem) !important; }
.m--7  { margin: clamp(-7rem, -7vw, -3.5rem) !important; }
.m--8  { margin: clamp(-8rem, -8vw, -4rem) !important; }
.m--9  { margin: clamp(-9rem, -9vw, -4.5rem) !important; }
.m--10 { margin: clamp(-10rem, -10vw, -5rem) !important; }
.m--11 { margin: clamp(-11rem, -11vw, -5.5rem) !important; }
.m--12 { margin: clamp(-12rem, -12vw, -6rem) !important; }
.m--13 { margin: clamp(-13rem, -13vw, -6.5rem) !important; }
.m--14 { margin: clamp(-14rem, -14vw, -7rem) !important; }
.m--15 { margin: clamp(-15rem, -15vw, -7.5rem) !important; }
.m--16 { margin: clamp(-16rem, -16vw, -8rem) !important; }
.m-auto { margin: 0 auto !important; }

.mx-auto{margin-left:auto ;margin-right: auto;}

/* === Responsive Margin Left === */
.ml-10px{margin-left: 10px;}
.ml-1  { margin-left: clamp(0.5rem, 1vw, 1rem) !important; }
.ml-2  { margin-left: clamp(1rem, 2vw, 2rem) !important; }
.ml-3  { margin-left: clamp(1.5rem, 3vw, 3rem) !important; }
.ml-4  { margin-left: clamp(2rem, 4vw, 4rem) !important; }
.ml-5  { margin-left: clamp(2.5rem, 5vw, 5rem) !important; }
.ml-6  { margin-left: clamp(3rem, 6vw, 6rem) !important; }
.ml-7  { margin-left: clamp(3.5rem, 7vw, 7rem) !important; }
.ml-8  { margin-left: clamp(4rem, 8vw, 8rem) !important; }
.ml-9  { margin-left: clamp(4.5rem, 9vw, 9rem) !important; }
.ml-10 { margin-left: clamp(5rem, 10vw, 10rem) !important; }
.ml-11 { margin-left: clamp(5.5rem, 11vw, 11rem) !important; }
.ml-12 { margin-left: clamp(6rem, 12vw, 12rem) !important; }
.ml-13 { margin-left: clamp(6.5rem, 13vw, 13rem) !important; }
.ml-14 { margin-left: clamp(7rem, 14vw, 14rem) !important; }
.ml-15 { margin-left: clamp(7.5rem, 15vw, 15rem) !important; }

/* === Responsive Margin Left Negative === */
.ml--1  { margin-left: clamp(-1rem, -1vw, -0.5rem) !important; }
.ml--2  { margin-left: clamp(-2rem, -2vw, -1rem) !important; }
.ml--3  { margin-left: clamp(-3rem, -3vw, -1.5rem) !important; }
.ml--4  { margin-left: clamp(-4rem, -4vw, -2rem) !important; }
.ml--5  { margin-left: clamp(-5rem, -5vw, -2.5rem) !important; }
.ml--6  { margin-left: clamp(-6rem, -6vw, -3rem) !important; }
.ml--7  { margin-left: clamp(-7rem, -7vw, -3.5rem) !important; }
.ml--8  { margin-left: clamp(-8rem, -8vw, -4rem) !important; }
.ml--9  { margin-left: clamp(-9rem, -9vw, -4.5rem) !important; }
.ml--10 { margin-left: clamp(-10rem, -10vw, -5rem) !important; }
.ml--11 { margin-left: clamp(-11rem, -11vw, -5.5rem) !important; }
.ml--12 { margin-left: clamp(-12rem, -12vw, -6rem) !important; }
.ml--13 { margin-left: clamp(-13rem, -13vw, -6.5rem) !important; }
.ml--14 { margin-left: clamp(-14rem, -14vw, -7rem) !important; }
.ml--15 { margin-left: clamp(-15rem, -15vw, -7.5rem) !important; }
.ml--16 { margin-left: clamp(-16rem, -16vw, -8rem) !important; }

/* === Responsive Margin Top === */
.mt-0{margin-top:0px !important;}
.mt-1  { margin-top: clamp(0.5rem, 1vw, 1rem) !important; }
.mt-2  { margin-top: clamp(1rem, 2vw, 2rem) !important; }
.mt-3  { margin-top: clamp(1.5rem, 3vw, 3rem) !important; }
.mt-4  { margin-top: clamp(2rem, 4vw, 4rem) !important; }
.mt-5  { margin-top: clamp(2.5rem, 5vw, 5rem) !important; }
.mt-6  { margin-top: clamp(3rem, 6vw, 6rem) !important; }
.mt-7  { margin-top: clamp(3.5rem, 7vw, 7rem) !important; }
.mt-8  { margin-top: clamp(4rem, 8vw, 8rem) !important; }
.mt-9  { margin-top: clamp(4.5rem, 9vw, 9rem) !important; }
.mt-10 { margin-top: clamp(5rem, 10vw, 10rem) !important; }
.mt-11 { margin-top: clamp(5.5rem, 11vw, 11rem) !important; }
.mt-12 { margin-top: clamp(6rem, 12vw, 12rem) !important; }
.mt-13 { margin-top: clamp(6.5rem, 13vw, 13rem) !important; }
.mt-14 { margin-top: clamp(7rem, 14vw, 14rem) !important; }
.mt-15 { margin-top: clamp(7.5rem, 15vw, 15rem) !important; }

/* === Responsive Margin Top Negative === */
.mt--1  { margin-top: clamp(-1rem, -1vw, -0.5rem) !important; }
.mt--2  { margin-top: clamp(-2rem, -2vw, -1rem) !important; }
.mt--3  { margin-top: clamp(-3rem, -3vw, -1.5rem) !important; }
.mt--4  { margin-top: clamp(-4rem, -4vw, -2rem) !important; }
.mt--5  { margin-top: clamp(-5rem, -5vw, -2.5rem) !important; }
.mt--6  { margin-top: clamp(-6rem, -6vw, -3rem) !important; }
.mt--7  { margin-top: clamp(-7rem, -7vw, -3.5rem) !important; }
.mt--8  { margin-top: clamp(-8rem, -8vw, -4rem) !important; }
.mt--9  { margin-top: clamp(-9rem, -9vw, -4.5rem) !important; }
.mt--10 { margin-top: clamp(-10rem, -10vw, -5rem) !important; }
.mt--11 { margin-top: clamp(-11rem, -11vw, -5.5rem) !important; }
.mt--12 { margin-top: clamp(-12rem, -12vw, -6rem) !important; }
.mt--13 { margin-top: clamp(-13rem, -13vw, -6.5rem) !important; }
.mt--14 { margin-top: clamp(-14rem, -14vw, -7rem) !important; }
.mt--15 { margin-top: clamp(-15rem, -15vw, -7.5rem) !important; }
.mt--16 { margin-top: clamp(-16rem, -16vw, -8rem) !important; }

/* === Responsive Padding Top === */
.pt-0{padding-top: 0 !important;}
.pt-1  { padding-top: clamp(0.5rem, 1vw, 1rem) !important; }
.pt-2  { padding-top: clamp(1rem, 2vw, 2rem) !important; }
.pt-3  { padding-top: clamp(1.5rem, 3vw, 3rem) !important; }
.pt-4  { padding-top: clamp(2rem, 4vw, 4rem) !important; }
.pt-5  { padding-top: clamp(2.5rem, 5vw, 5rem) !important; }
.pt-6  { padding-top: clamp(3rem, 6vw, 6rem) !important; }
.pt-7  { padding-top: clamp(3.5rem, 7vw, 7rem) !important; }
.pt-8  { padding-top: clamp(4rem, 8vw, 8rem) !important; }
.pt-9  { padding-top: clamp(4.5rem, 9vw, 9rem) !important; }
.pt-10 { padding-top: clamp(5rem, 10vw, 10rem) !important; }
.pt-11 { padding-top: clamp(5.5rem, 11vw, 11rem) !important; }
.pt-12 { padding-top: clamp(6rem, 12vw, 12rem) !important; }
.pt-13 { padding-top: clamp(6.5rem, 13vw, 13rem) !important; }
.pt-14 { padding-top: clamp(7rem, 14vw, 14rem) !important; }
.pt-15 { padding-top: clamp(7.5rem, 15vw, 15rem) !important; }

/* === Responsive Padding Bottom === */
.pb-0{padding-bottom: 0 !important;}
.pb-1  { padding-bottom: clamp(0.5rem, 1vw, 1rem) !important; }
.pb-2  { padding-bottom: clamp(1rem, 2vw, 2rem) !important; }
.pb-3  { padding-bottom: clamp(1.5rem, 3vw, 3rem) !important; }
.pb-4  { padding-bottom: clamp(2rem, 4vw, 4rem) !important; }
.pb-5  { padding-bottom: clamp(2.5rem, 5vw, 5rem) !important; }
.pb-6  { padding-bottom: clamp(3rem, 6vw, 6rem) !important; }
.pb-7  { padding-bottom: clamp(3.5rem, 7vw, 7rem) !important; }
.pb-8  { padding-bottom: clamp(4rem, 8vw, 8rem) !important; }
.pb-9  { padding-bottom: clamp(4.5rem, 9vw, 9rem) !important; }
.pb-10 { padding-bottom: clamp(5rem, 10vw, 10rem) !important; }
.pb-11 { padding-bottom: clamp(5.5rem, 11vw, 11rem) !important; }
.pb-12 { padding-bottom: clamp(6rem, 12vw, 12rem) !important; }
.pb-13 { padding-bottom: clamp(6.5rem, 13vw, 13rem) !important; }
.pb-14 { padding-bottom: clamp(7rem, 14vw, 14rem) !important; }
.pb-15 { padding-bottom: clamp(7.5rem, 15vw, 15rem) !important; }

/* === Responsive Padding Left === */
.pl-0 { padding-left: 0 !important; }
.pl-1  { padding-left: clamp(0.5rem, 1vw, 1rem) !important; }
.pl-2  { padding-left: clamp(1rem, 2vw, 2rem) !important; }
.pl-3  { padding-left: clamp(1.5rem, 3vw, 3rem) !important; }
.pl-4  { padding-left: clamp(2rem, 4vw, 4rem) !important; }
.pl-5  { padding-left: clamp(2.5rem, 5vw, 5rem) !important; }
.pl-6  { padding-left: clamp(3rem, 6vw, 6rem) !important; }
.pl-7  { padding-left: clamp(3.5rem, 7vw, 7rem) !important; }
.pl-8  { padding-left: clamp(4rem, 8vw, 8rem) !important; }
.pl-9  { padding-left: clamp(4.5rem, 9vw, 9rem) !important; }
.pl-10 { padding-left: clamp(5rem, 10vw, 10rem) !important; }
.pl-11 { padding-left: clamp(5.5rem, 11vw, 11rem) !important; }
.pl-12 { padding-left: clamp(6rem, 12vw, 12rem) !important; }
.pl-13 { padding-left: clamp(6.5rem, 13vw, 13rem) !important; }
.pl-14 { padding-left: clamp(7rem, 14vw, 14rem) !important; }
.pl-15 { padding-left: clamp(7.5rem, 15vw, 15rem) !important; }

/* === Responsive Padding Right === */
.pr-0 { padding-right: 0 !important; }
.pr-1  { padding-right: clamp(0.5rem, 1vw, 1rem) !important; }
.pr-2  { padding-right: clamp(1rem, 2vw, 2rem) !important; }
.pr-3  { padding-right: clamp(1.5rem, 3vw, 3rem) !important; }
.pr-4  { padding-right: clamp(2rem, 4vw, 4rem) !important; }
.pr-5  { padding-right: clamp(2.5rem, 5vw, 5rem) !important; }
.pr-6  { padding-right: clamp(3rem, 6vw, 6rem) !important; }
.pr-7  { padding-right: clamp(3.5rem, 7vw, 7rem) !important; }
.pr-8  { padding-right: clamp(4rem, 8vw, 8rem) !important; }
.pr-9  { padding-right: clamp(4.5rem, 9vw, 9rem) !important; }
.pr-10 { padding-right: clamp(5rem, 10vw, 10rem) !important; }
.pr-11 { padding-right: clamp(5.5rem, 11vw, 11rem) !important; }
.pr-12 { padding-right: clamp(6rem, 12vw, 12rem) !important; }
.pr-13 { padding-right: clamp(6.5rem, 13vw, 13rem) !important; }
.pr-14 { padding-right: clamp(7rem, 14vw, 14rem) !important; }
.pr-15 { padding-right: clamp(7.5rem, 15vw, 15rem) !important; }

/* === Responsive Padding (All sides) === */
.pt-15px{padding-top: 15px;}
.pt-3px{padding-top: 3px;}
@media (min-width: 1280px) {
  .pr-50px {
    padding-right: 100px !important;
  }
}

.pb-2rem{padding-bottom:25px ;}
.pl-2rem{padding-left: 30px;}
.p-0  {padding: 0 !important;}
.p-1  { padding: clamp(0.5rem, 1vw, 1rem) !important; }
.p-2  { padding: clamp(1rem, 2vw, 2rem) !important; }
.p-3  { padding: clamp(1.5rem, 3vw, 3rem) !important; }
.p-4  { padding: clamp(2rem, 4vw, 4rem) !important; }
.p-5  { padding: clamp(2.5rem, 5vw, 5rem) !important; }
.p-6  { padding: clamp(3rem, 6vw, 6rem) !important; }
.p-7  { padding: clamp(3.5rem, 7vw, 7rem) !important; }
.p-8  { padding: clamp(4rem, 8vw, 8rem) !important; }
.p-9  { padding: clamp(4.5rem, 9vw, 9rem) !important; }
.p-10 { padding: clamp(5rem, 10vw, 10rem) !important; }
.p-11 { padding: clamp(5.5rem, 11vw, 11rem) !important; }
.p-12 { padding: clamp(6rem, 12vw, 12rem) !important; }
.p-13 { padding: clamp(6.5rem, 13vw, 13rem) !important; }
.p-14 { padding: clamp(7rem, 14vw, 14rem) !important; }
.p-15 { padding: clamp(7.5rem, 15vw, 15rem) !important; }


/* Utility - Layout */
.none { display: none !important; }
@media (max-width: 768px) { .sma-none { display: none !important; } }
.desktop-none { display: none !important;}

@media (max-width: 768px) {
  .desktop-none {
    display: block !important;
  }
}
.img-res { width: 100%; }
.object-cover { object-fit: cover; }
.object-contain { object-fit: contain; }
.aspect-ratio { aspect-ratio: 16/9; }
.aspect-ratio-1-1 { aspect-ratio: 1/1; }
.aspect-ratio-3-4 { aspect-ratio: 3/4; }
.aspect-ratio-3-2 { aspect-ratio: 3/2; }
.aspect-ratio-9-16 { aspect-ratio: 9/16; }
.aspect-ratio-4-3 { aspect-ratio: 4/3; }
.overflow{overflow: hidden;}
.overflow-visible{overflow: visible !important;}
.overflow-scroll{
  overflow-y: scroll !important;
  overflow-x: hidden !important;
}
.object-top      { object-position: top; }
.object-bottom   { object-position: bottom; }
.object-left     { object-position: left; }
.object-right    { object-position: right; }
.object-center   { object-position: center; }

.object-top-left     { object-position: top left; }
.object-top-right    { object-position: top right; }
.object-bottom-left  { object-position: bottom left; }
.object-bottom-right { object-position: bottom right; }


/* Utility - Styling */
.shadow { box-shadow: 0 0 30px var(--shadow-color); }
.text_color em { font-style: normal; color: var(--link-color); font-weight: normal; }
.contrast { color: var(--contrast); }
.contrast p { color: var(--site-text-color); }
.contrast li { color: var(--site-text-color); }
.text-site-bg { color: var(--site-bg) !important; }
.text-white { color: var(--site-text-color); }
.text-black { color: var(--site-bg); }
.uppercase { text-transform: uppercase; }
.capitalize { text-transform: capitalize; }
.pointer{cursor: pointer;}
.filter{filter: invert(1);}
.opacity-50{opacity: 0.5;}

/* Utility - Background */
.bg-sito { background: var(--site-bg); }
.bg-contrast { background: var(--link-color); }
.bg-scuro{background:var(--text-contrast);}
.bg-green{background: var(--green);}
.bg-green-light{background: var(--green-light);}
.bg-yellow{background: var(--yellow);}
.bg-yellow-light{background: var(--yellow-light);}
.bg-linear{background: #4D0B6E; background: linear-gradient(90deg, rgba(77, 11, 110, 1) 0%, rgba(254, 31, 120, 1) 38%, rgba(255, 123, 46, 1) 70%, rgba(254, 191, 48, 1) 100%) !important;}
img.cover{object-fit:cover;}


/* Utility - Typography */
.text-bold { font-weight: 700; }
.text-bold p { font-weight: 700; margin-bottom: 0px; }

/* Utility - Border Radius */
.radius-100{border-radius:100%;}
.radius { border-radius: var(--radius); }
.radius-bright { border-bottom-right-radius: var(--radius); }
.radius-bleft { border-bottom-left-radius: var(--radius); }
.radius-tright { border-top-right-radius: var(--radius); }
.radius-tleft { border-top-left-radius: var(--radius); }


.radius-sm { border-radius: calc(var(--radius-default) / 2); }
.radius-lg { border-radius: calc(var(--radius-default) * 1.5); }

.border{border: 1px solid var(--site-text-color);}
.border-bottom{border-bottom: 1px solid var(--site-text-color);}

/* Utility - Width & Height */

/* === Responsive Width === */
.w-6  { width: clamp(5%, 6vw, 7%) !important; }
.w-7  { width: clamp(6%, 7vw, 8%) !important; }
.w-8  { width: clamp(7%, 8vw, 9%) !important; }
.w-9  { width: clamp(8%, 9vw, 10%) !important; }
.w-15  { width: clamp(14%, 15vw, 16%) !important; }
.w-10  { width: clamp(9%, 10vw, 11%) !important; }
.w-5   { width: clamp(4%, 5vw, 6%) !important; }
.w-0   { width: clamp(0%, 0vw, 0%) !important; }
.w-20  { width: clamp(19%, 20vw, 21%) !important; }
.w-25  { width: clamp(24%, 25vw, 26%) !important; }
.w-30  { width: clamp(29%, 30vw, 31%) !important; }
.w-35  { width: clamp(34%, 35vw, 36%) !important; }
.w-40  { width: clamp(39%, 40vw, 41%) !important; }
.w-45  { width: clamp(44%, 45vw, 46%) !important; }
.w-50  { width: clamp(49%, 50vw, 51%) !important; }
.w-55  { width: clamp(54%, 55vw, 56%) !important; }
.w-60  { width: clamp(59%, 60vw, 61%) !important; }
.w-65  { width: clamp(64%, 65vw, 66%) !important; }
.w-70  { width: clamp(69%, 70vw, 71%) !important; }
.w-75  { width: clamp(74%, 75vw, 76%) !important; }
.w-80  { width: clamp(79%, 80vw, 81%) !important; }
.w-85  { width: clamp(84%, 85vw, 86%) !important; }
.w-90  { width: clamp(89%, 90vw, 91%) !important; }
.w-95  { width: clamp(94%, 95vw, 96%) !important; }
.w-100 { width: clamp(99%, 100vw, 100%) !important; }


.w-auto { width: auto; }
.w-full{width: 100% !important;}
.w-fit{width: fit-content;}

.max-w{max-width: 100vw;}
.max-w-1120{max-width: 1200px; margin: 0 auto;padding: 0 2%;}

.wide-w{
  max-width: 90vw;margin:0 auto ;width: 90vw;
  @media (width > 1500px){max-width: 1600px;}
}

/* ===  Height === */
.h-5  { height: clamp(3rem, 5vh, 5rem) !important; }
.h-10 { height: clamp(6rem, 10vh, 10rem) !important; }
.h-15 { height: clamp(9rem, 15vh, 15rem) !important; }
.h-20  { height: clamp(12.5rem, 20vh, 15.5rem) !important; }
.h-25  { height: clamp(15.5rem, 25vh, 18.5rem) !important; }
.h-30  { height: clamp(18.5rem, 30vh, 21.5rem) !important; }
.h-35  { height: clamp(21.5rem, 35vh, 24.5rem) !important; }
.h-40  { height: clamp(24.5rem, 40vh, 27.5rem) !important; }
.h-45  { height: clamp(27.5rem, 45vh, 30.5rem) !important; }
.h-50  { height: clamp(30.5rem, 50vh, 33.5rem) !important; }
.h-55  { height: clamp(33.5rem, 55vh, 36.5rem) !important; }
.h-60  { height: clamp(36.5rem, 60vh, 39.5rem) !important; }
.h-65  { height: clamp(39.5rem, 65vh, 42.5rem) !important; }
.h-70  { height: clamp(42.5rem, 70vh, 45.5rem) !important; }
.h-75  { height: clamp(45.5rem, 75vh, 48.5rem) !important; }
.h-80  { height: clamp(48.5rem, 80vh, 51.5rem) !important; }
.h-85  { height: clamp(51.5rem, 85vh, 54.5rem) !important; }
.h-90  { height: clamp(54.5rem, 90vh, 57.5rem) !important; }
.h-95  { height: clamp(57.5rem, 95vh, 60.5rem) !important; }
.h-100 { height: clamp(60.5rem, 100vh, 63.5rem) !important; }

.h-auto { height: auto; }
.h-full{height: 100% !important;}
.h-fit{height: fit-content !important;}

.max-h-55{max-height: 55vh;
@media(width < 1150px){
  max-height: 55vh;
}
}

/* Utility - Positioning */
.relative { position: relative; }
.mobile\:relative{position: relative;}
.absolute { position: absolute !important; }
.fixed { position: fixed; }
.sticky { position: sticky; }

.index-1{z-index:1;}
.index-10{z-index:10;}
.index-100{z-index:100;}
.index-10000{z-index:10000;}


/* === Responsive Top === */
.top-0  { top: 0% !important; }
.top-3{top: 3% !important;}
.top-5  { top: 5% !important; }
.top-10 { top: 10% !important; }
.top-15 { top: 15% !important; }
.top-20 { top: 20% !important; }
.top-25 { top: 25% !important; }
.top-30 { top: 30% !important; }
.top-35 { top: 35% !important; }
.top-40 { top: 40% !important; }
.top-45 { top: 45% !important; }
.top-50 { top: 50% !important; transform: translateY(-50%);}
.top-60 { top: 60% !important; }
.top-70 { top: 70% !important; }
.top-80 { top: 80% !important; }
.top-90 { top: 90% !important; }
.top-100 { top: 100% !important; }

.top--5  { top: -5% !important; }
.top--10 { top: -10% !important; }
.top--15 { top: -15% !important; }
.top--20 { top: -20% !important; }
.top--25 { top: -25% !important; }
.top--30 { top: -30% !important; }
.top--35 { top: -35% !important; }
.top--40 { top: -40% !important; }
.top--45 { top: -45% !important; }
.top--50 { top: -50% !important; }
.top--60 { top: -60% !important; }
.top--70 { top: -70% !important; }
.top--80 { top: -80% !important; }
.top--90 { top: -90% !important; }
.top--100{ top: -100% !important; }

/* === Responsive Left === */

.left-0  { left: 0% !important; }
.left-1  { left: 1% !important; }
.left-5  { left: 5% !important; }
.left-10 { left: 10% !important; }
.left-15 { left: 15% !important; }
.left-20 { left: 20% !important; }
.left-25 { left: 25% !important; }
.left-30 { left: 30% !important; }
.left-35 { left: 35% !important; }
.left-40 { left: 40% !important; }
.left-45 { left: 45% !important; }
.left-50 { left: 50% !important; transform: translateX(-50%); }
.left-60 { left: 60% !important; }
.left-70 { left: 70% !important; }
.left-80 { left: 80% !important; }
.left-85{left: 85% !important;}
.left-90 { left: 90% !important; }
.left-100{ left: 100% !important; }

.left--5  { left: -5% !important; }
.left--10 { left: -10% !important; }
.left--15 { left: -15% !important; }
.left--20 { left: -20% !important; }
.left--25 { left: -25% !important; }
.left--30 { left: -30% !important; }
.left--35 { left: -35% !important; }
.left--40 { left: -40% !important; }
.left--45 { left: -45% !important; }
.left--50 { left: -50% !important; }
.left--60 { left: -60% !important; }
.left--70 { left: -70% !important; }
.left--80 { left: -80% !important; }
.left--90 { left: -90% !important; }
.left--100{ left: -100% !important; }

/* === Responsive Right === */
.right-0  { right: 0% !important; }
.right-5  { right: 5% !important; }
.right-10 { right: 10% !important; }
.right-15 { right: 15% !important; }
.right-20 { right: 20% !important; }
.right-25 { right: 25% !important; }
.right-30 { right: 30% !important; }
.right-35 { right: 35% !important; }
.right-40 { right: 40% !important; }
.right-45 { right: 45% !important; }
.right-50 { right: 50% !important; }
.right-60 { right: 60% !important; }
.right-70 { right: 70% !important; }
.right-80 { right: 80% !important; }
.right-90 { right: 90% !important; }
.right-100{ right: 100% !important; }

.right--5  { right: -5% !important; }
.right--10 { right: -10% !important; }
.right--15 { right: -15% !important; }
.right--20 { right: -20% !important; }
.right--25 { right: -25% !important; }
.right--30 { right: -30% !important; }
.right--35 { right: -35% !important; }
.right--40 { right: -40% !important; }
.right--45 { right: -45% !important; }
.right--50 { right: -50% !important; }
.right--60 { right: -60% !important; }
.right--70 { right: -70% !important; }
.right--80 { right: -80% !important; }
.right--90 { right: -90% !important; }
.right--100{ right: -100% !important; }

/* === Responsive Bottom === */
.bottom-0  { bottom: 0% !important; }
.bottom-5  { bottom: 5% !important; }
.bottom-10 { bottom: 10% !important; }
.bottom-15 { bottom: 15% !important; }
.bottom-20 { bottom: 20% !important; }
.bottom-25 { bottom: 25% !important; }
.bottom-30 { bottom: 30% !important; }
.bottom-35 { bottom: 35% !important; }
.bottom-40 { bottom: 40% !important; }
.bottom-45 { bottom: 45% !important; }
.bottom-50 { bottom: 50% !important; }
.bottom-60 { bottom: 60% !important; }
.bottom-70 { bottom: 70% !important; }
.bottom-80 { bottom: 80% !important; }
.bottom-90 { bottom: 90% !important; }
.bottom-100{ bottom: 100% !important; }

.bottom--5  { bottom: -5% !important; }
.bottom--10 { bottom: -10% !important; }
.bottom--15 { bottom: -15% !important; }
.bottom--20 { bottom: -20% !important; }
.bottom--25 { bottom: -25% !important; }
.bottom--30 { bottom: -30% !important; }
.bottom--35 { bottom: -35% !important; }
.bottom--40 { bottom: -40% !important; }
.bottom--45 { bottom: -45% !important; }
.bottom--50 { bottom: -50% !important; }
.bottom--60 { bottom: -60% !important; }
.bottom--70 { bottom: -70% !important; }
.bottom--80 { bottom: -80% !important; }
.bottom--90 { bottom: -90% !important; }
.bottom--100{ bottom: -100% !important; }

.center { top: 50%; left: 50%; transform: translate(-50%, -50%); }



.flex {display: flex !important; }
.inline-flex {display: inline-flex;}

/* Direzione */

.flex-row {flex-direction: row;}
.flex-row-reverse {flex-direction: row-reverse;}
.flex-col { flex-direction: column;}
.flex-col-reverse {flex-direction: column-reverse;}
.flex-wrap{flex-wrap: wrap;}

/* Grow / Shrink */
.grow { flex-grow: 1; }
.grow-0 { flex-grow: 0; }
.shrink { flex-shrink: 1; }
.shrink-0 { flex-shrink: 0; }

/* Flex shorthand utili */
.flex-1 { flex: 1 1 0%; }
.flex-auto { flex: 1 1 auto; }
.flex-initial { flex: 0 1 auto; }
.flex-none { flex: 0 0 auto; }

/* Flex-basis */
.basis-auto { flex-basis: auto; }
.basis-content { flex-basis: content; } /* supporto non perfetto ovunque */
.basis-0 { flex-basis: 0; }
.basis-full { flex-basis: 100%; }

/* Flex-basis - Percentuali */
.basis-1-2  { flex-basis: 50%; }
.basis-1-3  { flex-basis: 33.3333%; }
.basis-2-3  { flex-basis: 66.6667%; }
.basis-1-4  { flex-basis: 25%; }
.basis-2-4  { flex-basis: 50%; }
.basis-3-4  { flex-basis: 75%; }
.basis-1-5  { flex-basis: 20%; }
.basis-2-5  { flex-basis: 40%; }
.basis-3-5  { flex-basis: 60%; }
.basis-4-5  { flex-basis: 80%; }
.basis-1-6  { flex-basis: 16.6667%; }
.basis-2-6  { flex-basis: 33.3333%; }
.basis-3-6  { flex-basis: 50%; }
.basis-4-6  { flex-basis: 66.6667%; }
.basis-5-6  { flex-basis: 83.3333%; }

/* Grid Container */
.grid {display: grid;}

/* Column count */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.grid-cols-auto-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: clamp(24px, 4vw, 40px);
}
.grid-cols-auto-progetti-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: clamp(24px, 4vw, 40px);
}

/* card servizi */
.grid-cols-auto-servizi {
  display: grid;
  gap: clamp(24px, 4vw, 40px);
  width: 100%;
  max-width: 1120px; /* 3 × 350px + 2 × 2rem (gap) */
  margin: 0 auto;
  grid-template-columns: repeat(auto-fit, minmax(345px, 1fr));
}



.grid-cols-auto-2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
  gap: clamp(30px, 5vw, 50px);
  align-items: center;
  @media(width < 768px){
    grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  }
}

.reverse-cols .text-col {
  order: 2;
}

.reverse-cols .img-col {
  order: 1;
  @media(width < 1036px ){
    order:2;
  }
}


.grid-cols-info-progetto {
  display: grid;
  gap: clamp(24px, 4vw, 40px);
  grid-template-columns: repeat(auto-fit, minmax(268px, 1fr));
  @media (max-width: 1300px) {
    grid-template-columns: repeat(2, 1fr);
  }
  @media (max-width: 768px) {
    grid-template-columns: 1fr;
  }
}



/* Row count */
.grid-rows-1 { grid-template-rows: repeat(1, minmax(0, 1fr)); }
.grid-rows-2 { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.grid-rows-3 { grid-template-rows: repeat(3, minmax(0, 1fr)); }
.grid-rows-4 { grid-template-rows: repeat(4, minmax(0, 1fr)); }


@media (max-width: 1024px) {
  .tablet\:max-w{max-width: 100%;}
  .tablet\:flex-row         { flex-direction: row !important; }
  .tablet\:flex-row-reverse { flex-direction: row-reverse !important; }
  .tablet\:flex-col{ flex-direction: column !important; }
  .tablet\:flex-col-reverse { flex-direction: column-reverse !important; }
  .tablet\:flex-wrap        { flex-wrap: wrap !important; }
  /* === tablet Grid Columns === */
  .tablet\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
  .tablet\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .tablet\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .tablet\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .tablet\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .tablet\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }

  /* === tablet Grid Rows === */
  .tablet\:grid-rows-1 { grid-template-rows: repeat(1, minmax(0, 1fr)) !important; }
  .tablet\:grid-rows-2 { grid-template-rows: repeat(2, minmax(0, 1fr)) !important; }
  .tablet\:grid-rows-3 { grid-template-rows: repeat(3, minmax(0, 1fr)) !important; }
  .tablet\:grid-rows-4 { grid-template-rows: repeat(4, minmax(0, 1fr)) !important; }
  
  .tablet\:basis-1-2  { flex-basis: 50% !important; }
  .tablet\:basis-1-3  { flex-basis: 33.3333% !important; }
  .tablet\:basis-2-3  { flex-basis: 66.6667% !important; }
  .tablet\:basis-1-4  { flex-basis: 25% !important; }
  .tablet\:basis-2-4  { flex-basis: 50% !important; }
  .tablet\:basis-3-4  { flex-basis: 75% !important; }
  .tablet\:basis-1-5  { flex-basis: 20% !important; }
  .tablet\:basis-2-5  { flex-basis: 40% !important; }
  .tablet\:basis-3-5  { flex-basis: 60% !important; }
  .tablet\:basis-4-5  { flex-basis: 80% !important; }
  .tablet\:basis-1-6  { flex-basis: 16.6667% !important; }
  .tablet\:basis-2-6  { flex-basis: 33.3333% !important; }
  .tablet\:basis-3-6  { flex-basis: 50% !important; }
  .tablet\:basis-4-6  { flex-basis: 66.6667% !important; }
  .tablet\:basis-5-6  { flex-basis: 83.3333% !important; }

  /* === tablet Width === */
  .tablet\:w-20  { width: clamp(19%, 20vw, 21%) !important; }
  .tablet\:w-25  { width: clamp(24%, 25vw, 26%) !important; }
  .tablet\:w-30  { width: clamp(29%, 30vw, 31%) !important; }
  .tablet\:w-35  { width: clamp(34%, 35vw, 36%) !important; }
  .tablet\:w-40  { width: clamp(39%, 40vw, 41%) !important; }
  .tablet\:w-45  { width: clamp(44%, 45vw, 46%) !important; }
  .tablet\:w-50  { width: clamp(49%, 50vw, 51%) !important; }
  .tablet\:w-55  { width: clamp(54%, 55vw, 56%) !important; }
  .tablet\:w-60  { width: clamp(59%, 60vw, 61%) !important; }
  .tablet\:w-65  { width: clamp(64%, 65vw, 66%) !important; }
  .tablet\:w-70  { width: clamp(69%, 70vw, 71%) !important; }
  .tablet\:w-75  { width: clamp(74%, 75vw, 76%) !important; }
  .tablet\:w-80  { width: clamp(79%, 80vw, 81%) !important; }
  .tablet\:w-85  { width: clamp(84%, 85vw, 86%) !important; }
  .tablet\:w-90  { width: clamp(89%, 90vw, 91%) !important; }
  .tablet\:w-95  { width: clamp(94%, 95vw, 96%) !important; }
  .tablet\:w-100 { width: clamp(99%, 100vw, 100%) !important; }
  .tablet\:w-full{width: 100% !important;}
  .tablet\:w-auto{width: auto !important;}

  /* === tablet Height === */
  .tablet\:h-20  { height: clamp(12.5rem, 20vh, 15.5rem) !important; }
  .tablet\:h-25  { height: clamp(15.5rem, 25vh, 18.5rem) !important; }
  .tablet\:h-30  { height: clamp(18.5rem, 30vh, 21.5rem) !important; }
  .tablet\:h-35  { height: clamp(21.5rem, 35vh, 24.5rem) !important; }
  .tablet\:h-40  { height: clamp(24.5rem, 40vh, 27.5rem) !important; }
  .tablet\:h-45  { height: clamp(27.5rem, 45vh, 30.5rem) !important; }
  .tablet\:h-50  { height: clamp(30.5rem, 50vh, 33.5rem) !important; }
  .tablet\:h-55  { height: clamp(33.5rem, 55vh, 36.5rem) !important; }
  .tablet\:h-60  { height: clamp(36.5rem, 60vh, 39.5rem) !important; }
  .tablet\:h-65  { height: clamp(39.5rem, 65vh, 42.5rem) !important; }
  .tablet\:h-70  { height: clamp(42.5rem, 70vh, 45.5rem) !important; }
  .tablet\:h-75  { height: clamp(45.5rem, 75vh, 48.5rem) !important; }
  .tablet\:h-80  { height: clamp(48.5rem, 80vh, 51.5rem) !important; }
  .tablet\:h-85  { height: clamp(51.5rem, 85vh, 54.5rem) !important; }
  .tablet\:h-90  { height: clamp(54.5rem, 90vh, 57.5rem) !important; }
  .tablet\:h-95  { height: clamp(57.5rem, 95vh, 60.5rem) !important; }
  .tablet\:h-100 { height: clamp(60.5rem, 100vh, 63.5rem) !important; }
  .tablet\:h-full{height: 100% !important;}
  .tablet\:h-auto{height: auto !important;}

  /* Margin-bottom positivi con clamp */
  .tablet\:mb-1  { margin-bottom: clamp(0.5rem, 1vw, 1rem) !important; }
  .tablet\:mb-2  { margin-bottom: clamp(1rem, 2vw, 2rem) !important; }
  .tablet\:mb-3  { margin-bottom: clamp(1.5rem, 3vw, 3rem) !important; }
  .tablet\:mb-4  { margin-bottom: clamp(2rem, 4vw, 4rem) !important; }
  .tablet\:mb-5  { margin-bottom: clamp(2.5rem, 5vw, 5rem) !important; }
  .tablet\:mb-6  { margin-bottom: clamp(3rem, 6vw, 6rem) !important; }
  .tablet\:mb-7  { margin-bottom: clamp(3.5rem, 7vw, 7rem) !important; }
  .tablet\:mb-8  { margin-bottom: clamp(4rem, 8vw, 8rem) !important; }
  .tablet\:mb-9  { margin-bottom: clamp(4.5rem, 9vw, 9rem) !important; }
  .tablet\:mb-10 { margin-bottom: clamp(5rem, 10vw, 10rem) !important; }
  .tablet\:mb-11 { margin-bottom: clamp(5.5rem, 11vw, 11rem) !important; }
  .tablet\:mb-12 { margin-bottom: clamp(6rem, 12vw, 12rem) !important; }
  .tablet\:mb-13 { margin-bottom: clamp(6.5rem, 13vw, 13rem) !important; }
  .tablet\:mb-14 { margin-bottom: clamp(7rem, 14vw, 14rem) !important; }
  .tablet\:mb-15 { margin-bottom: clamp(7.5rem, 15vw, 15rem) !important; }

  /* Margin-bottom negativi con clamp */
  .tablet\:mb-0  { margin-bottom: 0 !important; }
  .tablet\:mb--1  { margin-bottom: clamp(-1rem, -1vw, -0.5rem) !important; }
  .tablet\:mb--2  { margin-bottom: clamp(-2rem, -2vw, -1rem) !important; }
  .tablet\:mb--3  { margin-bottom: clamp(-3rem, -3vw, -1.5rem) !important; }
  .tablet\:mb--4  { margin-bottom: clamp(-4rem, -4vw, -2rem) !important; }
  .tablet\:mb--5  { margin-bottom: clamp(-5rem, -5vw, -2.5rem) !important; }
  .tablet\:mb--6  { margin-bottom: clamp(-6rem, -6vw, -3rem) !important; }
  .tablet\:mb--7  { margin-bottom: clamp(-7rem, -7vw, -3.5rem) !important; }
  .tablet\:mb--8  { margin-bottom: clamp(-8rem, -8vw, -4rem) !important; }
  .tablet\:mb--9  { margin-bottom: clamp(-9rem, -9vw, -4.5rem) !important; }
  .tablet\:mb--10 { margin-bottom: clamp(-10rem, -10vw, -5rem) !important; }
  .tablet\:mb--11 { margin-bottom: clamp(-11rem, -11vw, -5.5rem) !important; }
  .tablet\:mb--12 { margin-bottom: clamp(-12rem, -12vw, -6rem) !important; }
  .tablet\:mb--13 { margin-bottom: clamp(-13rem, -13vw, -6.5rem) !important; }
  .tablet\:mb--14 { margin-bottom: clamp(-14rem, -14vw, -7rem) !important; }
  .tablet\:mb--15 { margin-bottom: clamp(-15rem, -15vw, -7.5rem) !important; }
  .tablet\:mb--16 { margin-bottom: clamp(-16rem, -16vw, -8rem) !important; }

  /* === Responsive Margin Right === */
  .tablet\:mr-0  { margin-right: 0 !important; }
  .tablet\:mr-1  { margin-right: clamp(0.5rem, 1vw, 1rem) !important; }
  .tablet\:mr-2  { margin-right: clamp(1rem, 2vw, 2rem) !important; }
  .tablet\:mr-3  { margin-right: clamp(1.5rem, 3vw, 3rem) !important; }
  .tablet\:mr-4  { margin-right: clamp(2rem, 4vw, 4rem) !important; }
  .tablet\:mr-5  { margin-right: clamp(2.5rem, 5vw, 5rem) !important; }
  .tablet\:mr-6  { margin-right: clamp(3rem, 6vw, 6rem) !important; }
  .tablet\:mr-7  { margin-right: clamp(3.5rem, 7vw, 7rem) !important; }
  .tablet\:mr-8  { margin-right: clamp(4rem, 8vw, 8rem) !important; }
  .tablet\:mr-9  { margin-right: clamp(4.5rem, 9vw, 9rem) !important; }
  .tablet\:mr-10 { margin-right: clamp(5rem, 10vw, 10rem) !important; }
  .tablet\:mr-11 { margin-right: clamp(5.5rem, 11vw, 11rem) !important; }
  .tablet\:mr-12 { margin-right: clamp(6rem, 12vw, 12rem) !important; }
  .tablet\:mr-13 { margin-right: clamp(6.5rem, 13vw, 13rem) !important; }
  .tablet\:mr-14 { margin-right: clamp(7rem, 14vw, 14rem) !important; }
  .tablet\:mr-15 { margin-right: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Margin Right Negative === */
  .tablet\:mr--1  { margin-right: clamp(-1rem, -1vw, -0.5rem) !important; }
  .tablet\:mr--2  { margin-right: clamp(-2rem, -2vw, -1rem) !important; }
  .tablet\:mr--3  { margin-right: clamp(-3rem, -3vw, -1.5rem) !important; }
  .tablet\:mr--4  { margin-right: clamp(-4rem, -4vw, -2rem) !important; }
  .tablet\:mr--5  { margin-right: clamp(-5rem, -5vw, -2.5rem) !important; }
  .tablet\:mr--6  { margin-right: clamp(-6rem, -6vw, -3rem) !important; }
  .tablet\:mr--7  { margin-right: clamp(-7rem, -7vw, -3.5rem) !important; }
  .tablet\:mr--8  { margin-right: clamp(-8rem, -8vw, -4rem) !important; }
  .tablet\:mr--9  { margin-right: clamp(-9rem, -9vw, -4.5rem) !important; }
  .tablet\:mr--10 { margin-right: clamp(-10rem, -10vw, -5rem) !important; }
  .tablet\:mr--11 { margin-right: clamp(-11rem, -11vw, -5.5rem) !important; }
  .tablet\:mr--12 { margin-right: clamp(-12rem, -12vw, -6rem) !important; }
  .tablet\:mr--13 { margin-right: clamp(-13rem, -13vw, -6.5rem) !important; }
  .tablet\:mr--14 { margin-right: clamp(-14rem, -14vw, -7rem) !important; }
  .tablet\:mr--15 { margin-right: clamp(-15rem, -15vw, -7.5rem) !important; }
  .tablet\:mr--16 { margin-right: clamp(-16rem, -16vw, -8rem) !important; }

  /* === Responsive Margin (All sides) === */
  .tablet\:m-0  { margin: 0 !important; }
  .tablet\:m-1  { margin: clamp(0.5rem, 1vw, 1rem) !important; }
  .tablet\:m-2  { margin: clamp(1rem, 2vw, 2rem) !important; }
  .tablet\:m-3  { margin: clamp(1.5rem, 3vw, 3rem) !important; }
  .tablet\:m-4  { margin: clamp(2rem, 4vw, 4rem) !important; }
  .tablet\:m-5  { margin: clamp(2.5rem, 5vw, 5rem) !important; }
  .tablet\:m-6  { margin: clamp(3rem, 6vw, 6rem) !important; }
  .tablet\:m-7  { margin: clamp(3.5rem, 7vw, 7rem) !important; }
  .tablet\:m-8  { margin: clamp(4rem, 8vw, 8rem) !important; }
  .tablet\:m-9  { margin: clamp(4.5rem, 9vw, 9rem) !important; }
  .tablet\:m-10 { margin: clamp(5rem, 10vw, 10rem) !important; }
  .tablet\:m-11 { margin: clamp(5.5rem, 11vw, 11rem) !important; }
  .tablet\:m-12 { margin: clamp(6rem, 12vw, 12rem) !important; }
  .tablet\:m-13 { margin: clamp(6.5rem, 13vw, 13rem) !important; }
  .tablet\:m-14 { margin: clamp(7rem, 14vw, 14rem) !important; }
  .tablet\:m-15 { margin: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Margin Negative (All sides) === */
  .tablet\:m--1  { margin: clamp(-1rem, -1vw, -0.5rem) !important; }
  .tablet\:m--2  { margin: clamp(-2rem, -2vw, -1rem) !important; }
  .tablet\:m--3  { margin: clamp(-3rem, -3vw, -1.5rem) !important; }
  .tablet\:m--4  { margin: clamp(-4rem, -4vw, -2rem) !important; }
  .tablet\:m--5  { margin: clamp(-5rem, -5vw, -2.5rem) !important; }
  .tablet\:m--6  { margin: clamp(-6rem, -6vw, -3rem) !important; }
  .tablet\:m--7  { margin: clamp(-7rem, -7vw, -3.5rem) !important; }
  .tablet\:m--8  { margin: clamp(-8rem, -8vw, -4rem) !important; }
  .tablet\:m--9  { margin: clamp(-9rem, -9vw, -4.5rem) !important; }
  .tablet\:m--10 { margin: clamp(-10rem, -10vw, -5rem) !important; }
  .tablet\:m--11 { margin: clamp(-11rem, -11vw, -5.5rem) !important; }
  .tablet\:m--12 { margin: clamp(-12rem, -12vw, -6rem) !important; }
  .tablet\:m--13 { margin: clamp(-13rem, -13vw, -6.5rem) !important; }
  .tablet\:m--14 { margin: clamp(-14rem, -14vw, -7rem) !important; }
  .tablet\:m--15 { margin: clamp(-15rem, -15vw, -7.5rem) !important; }
  .tablet\:m--16 { margin: clamp(-16rem, -16vw, -8rem) !important; }
  .tablet\:m-auto { margin: 0 auto !important; }
  .tablet\:mx-auto{margin-left:auto ;margin-right: auto;}

  /* === Responsive Margin Left === */
  .tablet\:ml-0  { margin-left: 0 !important; }
  .tablet\:ml-1  { margin-left: clamp(0.5rem, 1vw, 1rem) !important; }
  .tablet\:ml-2  { margin-left: clamp(1rem, 2vw, 2rem) !important; }
  .tablet\:ml-3  { margin-left: clamp(1.5rem, 3vw, 3rem) !important; }
  .tablet\:ml-4  { margin-left: clamp(2rem, 4vw, 4rem) !important; }
  .tablet\:ml-5  { margin-left: clamp(2.5rem, 5vw, 5rem) !important; }
  .tablet\:ml-6  { margin-left: clamp(3rem, 6vw, 6rem) !important; }
  .tablet\:ml-7  { margin-left: clamp(3.5rem, 7vw, 7rem) !important; }
  .tablet\:ml-8  { margin-left: clamp(4rem, 8vw, 8rem) !important; }
  .tablet\:ml-9  { margin-left: clamp(4.5rem, 9vw, 9rem) !important; }
  .tablet\:ml-10 { margin-left: clamp(5rem, 10vw, 10rem) !important; }
  .tablet\:ml-11 { margin-left: clamp(5.5rem, 11vw, 11rem) !important; }
  .tablet\:ml-12 { margin-left: clamp(6rem, 12vw, 12rem) !important; }
  .tablet\:ml-13 { margin-left: clamp(6.5rem, 13vw, 13rem) !important; }
  .tablet\:ml-14 { margin-left: clamp(7rem, 14vw, 14rem) !important; }
  .tablet\:ml-15 { margin-left: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Margin Left Negative === */
  .tablet\:ml--1  { margin-left: clamp(-1rem, -1vw, -0.5rem) !important; }
  .tablet\:ml--2  { margin-left: clamp(-2rem, -2vw, -1rem) !important; }
  .tablet\:ml--3  { margin-left: clamp(-3rem, -3vw, -1.5rem) !important; }
  .tablet\:ml--4  { margin-left: clamp(-4rem, -4vw, -2rem) !important; }
  .tablet\:ml--5  { margin-left: clamp(-5rem, -5vw, -2.5rem) !important; }
  .tablet\:ml--6  { margin-left: clamp(-6rem, -6vw, -3rem) !important; }
  .tablet\:ml--7  { margin-left: clamp(-7rem, -7vw, -3.5rem) !important; }
  .tablet\:ml--8  { margin-left: clamp(-8rem, -8vw, -4rem) !important; }
  .tablet\:ml--9  { margin-left: clamp(-9rem, -9vw, -4.5rem) !important; }
  .tablet\:ml--10 { margin-left: clamp(-10rem, -10vw, -5rem) !important; }
  .tablet\:ml--11 { margin-left: clamp(-11rem, -11vw, -5.5rem) !important; }
  .tablet\:ml--12 { margin-left: clamp(-12rem, -12vw, -6rem) !important; }
  .tablet\:ml--13 { margin-left: clamp(-13rem, -13vw, -6.5rem) !important; }
  .tablet\:ml--14 { margin-left: clamp(-14rem, -14vw, -7rem) !important; }
  .tablet\:ml--15 { margin-left: clamp(-15rem, -15vw, -7.5rem) !important; }
  .tablet\:ml--16 { margin-left: clamp(-16rem, -16vw, -8rem) !important; }

  /* === Responsive Margin Top === */
  .tablet\:mt-0  { margin-top: 0 !important; }
  .tablet\:mt-1  { margin-top: clamp(0.5rem, 1vw, 1rem) !important; }
  .tablet\:mt-2  { margin-top: clamp(1rem, 2vw, 2rem) !important; }
  .tablet\:mt-3  { margin-top: clamp(1.5rem, 3vw, 3rem) !important; }
  .tablet\:mt-4  { margin-top: clamp(2rem, 4vw, 4rem) !important; }
  .tablet\:mt-5  { margin-top: clamp(2.5rem, 5vw, 5rem) !important; }
  .tablet\:mt-6  { margin-top: clamp(3rem, 6vw, 6rem) !important; }
  .tablet\:mt-7  { margin-top: clamp(3.5rem, 7vw, 7rem) !important; }
  .tablet\:mt-8  { margin-top: clamp(4rem, 8vw, 8rem) !important; }
  .tablet\:mt-9  { margin-top: clamp(4.5rem, 9vw, 9rem) !important; }
  .tablet\:mt-10 { margin-top: clamp(5rem, 10vw, 10rem) !important; }
  .tablet\:mt-11 { margin-top: clamp(5.5rem, 11vw, 11rem) !important; }
  .tablet\:mt-12 { margin-top: clamp(6rem, 12vw, 12rem) !important; }
  .tablet\:mt-13 { margin-top: clamp(6.5rem, 13vw, 13rem) !important; }
  .tablet\:mt-14 { margin-top: clamp(7rem, 14vw, 14rem) !important; }
  .tablet\:mt-15 { margin-top: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Margin Top Negative === */
  .tablet\:mt--1  { margin-top: clamp(-1rem, -1vw, -0.5rem) !important; }
  .tablet\:mt--2  { margin-top: clamp(-2rem, -2vw, -1rem) !important; }
  .tablet\:mt--3  { margin-top: clamp(-3rem, -3vw, -1.5rem) !important; }
  .tablet\:mt--4  { margin-top: clamp(-4rem, -4vw, -2rem) !important; }
  .tablet\:mt--5  { margin-top: clamp(-5rem, -5vw, -2.5rem) !important; }
  .tablet\:mt--6  { margin-top: clamp(-6rem, -6vw, -3rem) !important; }
  .tablet\:mt--7  { margin-top: clamp(-7rem, -7vw, -3.5rem) !important; }
  .tablet\:mt--8  { margin-top: clamp(-8rem, -8vw, -4rem) !important; }
  .tablet\:mt--9  { margin-top: clamp(-9rem, -9vw, -4.5rem) !important; }
  .tablet\:mt--10 { margin-top: clamp(-10rem, -10vw, -5rem) !important; }
  .tablet\:mt--11 { margin-top: clamp(-11rem, -11vw, -5.5rem) !important; }
  .tablet\:mt--12 { margin-top: clamp(-12rem, -12vw, -6rem) !important; }
  .tablet\:mt--13 { margin-top: clamp(-13rem, -13vw, -6.5rem) !important; }
  .tablet\:mt--14 { margin-top: clamp(-14rem, -14vw, -7rem) !important; }
  .tablet\:mt--15 { margin-top: clamp(-15rem, -15vw, -7.5rem) !important; }
  .tablet\:mt--16 { margin-top: clamp(-16rem, -16vw, -8rem) !important; }

  /* === Responsive Padding Top === */
  .tablet\:pt-0{padding-top: 0 !important;}
  .tablet\:pt-1  { padding-top: clamp(0.5rem, 1vw, 1rem) !important; }
  .tablet\:pt-2  { padding-top: clamp(1rem, 2vw, 2rem) !important; }
  .tablet\:pt-3  { padding-top: clamp(1.5rem, 3vw, 3rem) !important; }
  .tablet\:pt-4  { padding-top: clamp(2rem, 4vw, 4rem) !important; }
  .tablet\:pt-5  { padding-top: clamp(2.5rem, 5vw, 5rem) !important; }
  .tablet\:pt-6  { padding-top: clamp(3rem, 6vw, 6rem) !important; }
  .tablet\:pt-7  { padding-top: clamp(3.5rem, 7vw, 7rem) !important; }
  .tablet\:pt-8  { padding-top: clamp(4rem, 8vw, 8rem) !important; }
  .tablet\:pt-9  { padding-top: clamp(4.5rem, 9vw, 9rem) !important; }
  .tablet\:pt-10 { padding-top: clamp(5rem, 10vw, 10rem) !important; }
  .tablet\:pt-11 { padding-top: clamp(5.5rem, 11vw, 11rem) !important; }
  .tablet\:pt-12 { padding-top: clamp(6rem, 12vw, 12rem) !important; }
  .tablet\:pt-13 { padding-top: clamp(6.5rem, 13vw, 13rem) !important; }
  .tablet\:pt-14 { padding-top: clamp(7rem, 14vw, 14rem) !important; }
  .tablet\:pt-15 { padding-top: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Padding Bottom === */
  .tablet\:pb-0{padding-bottom: 0 !important;}
  .tablet\:pb-1  { padding-bottom: clamp(0.5rem, 1vw, 1rem) !important; }
  .tablet\:pb-2  { padding-bottom: clamp(1rem, 2vw, 2rem) !important; }
  .tablet\:pb-3  { padding-bottom: clamp(1.5rem, 3vw, 3rem) !important; }
  .tablet\:pb-4  { padding-bottom: clamp(2rem, 4vw, 4rem) !important; }
  .tablet\:pb-5  { padding-bottom: clamp(2.5rem, 5vw, 5rem) !important; }
  .tablet\:pb-6  { padding-bottom: clamp(3rem, 6vw, 6rem) !important; }
  .tablet\:pb-7  { padding-bottom: clamp(3.5rem, 7vw, 7rem) !important; }
  .tablet\:pb-8  { padding-bottom: clamp(4rem, 8vw, 8rem) !important; }
  .tablet\:pb-9  { padding-bottom: clamp(4.5rem, 9vw, 9rem) !important; }
  .tablet\:pb-10 { padding-bottom: clamp(5rem, 10vw, 10rem) !important; }
  .tablet\:pb-11 { padding-bottom: clamp(5.5rem, 11vw, 11rem) !important; }
  .tablet\:pb-12 { padding-bottom: clamp(6rem, 12vw, 12rem) !important; }
  .tablet\:pb-13 { padding-bottom: clamp(6.5rem, 13vw, 13rem) !important; }
  .tablet\:pb-14 { padding-bottom: clamp(7rem, 14vw, 14rem) !important; }
  .tablet\:pb-15 { padding-bottom: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Padding Left === */
  .tablet\:pl-0 { padding-left: 0 !important; }
  .tablet\:pl-1  { padding-left: clamp(0.5rem, 1vw, 1rem) !important; }
  .tablet\:pl-2  { padding-left: clamp(1rem, 2vw, 2rem) !important; }
  .tablet\:pl-3  { padding-left: clamp(1.5rem, 3vw, 3rem) !important; }
  .tablet\:pl-4  { padding-left: clamp(2rem, 4vw, 4rem) !important; }
  .tablet\:pl-5  { padding-left: clamp(2.5rem, 5vw, 5rem) !important; }
  .tablet\:pl-6  { padding-left: clamp(3rem, 6vw, 6rem) !important; }
  .tablet\:pl-7  { padding-left: clamp(3.5rem, 7vw, 7rem) !important; }
  .tablet\:pl-8  { padding-left: clamp(4rem, 8vw, 8rem) !important; }
  .tablet\:pl-9  { padding-left: clamp(4.5rem, 9vw, 9rem) !important; }
  .tablet\:pl-10 { padding-left: clamp(5rem, 10vw, 10rem) !important; }
  .tablet\:pl-11 { padding-left: clamp(5.5rem, 11vw, 11rem) !important; }
  .tablet\:pl-12 { padding-left: clamp(6rem, 12vw, 12rem) !important; }
  .tablet\:pl-13 { padding-left: clamp(6.5rem, 13vw, 13rem) !important; }
  .tablet\:pl-14 { padding-left: clamp(7rem, 14vw, 14rem) !important; }
  .tablet\:pl-15 { padding-left: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Padding Right === */
  .tablet\:pr-0 { padding-right: 0 !important; }
  .tablet\:pr-1  { padding-right: clamp(0.5rem, 1vw, 1rem) !important; }
  .tablet\:pr-2  { padding-right: clamp(1rem, 2vw, 2rem) !important; }
  .tablet\:pr-3  { padding-right: clamp(1.5rem, 3vw, 3rem) !important; }
  .tablet\:pr-4  { padding-right: clamp(2rem, 4vw, 4rem) !important; }
  .tablet\:pr-5  { padding-right: clamp(2.5rem, 5vw, 5rem) !important; }
  .tablet\:pr-6  { padding-right: clamp(3rem, 6vw, 6rem) !important; }
  .tablet\:pr-7  { padding-right: clamp(3.5rem, 7vw, 7rem) !important; }
  .tablet\:pr-8  { padding-right: clamp(4rem, 8vw, 8rem) !important; }
  .tablet\:pr-9  { padding-right: clamp(4.5rem, 9vw, 9rem) !important; }
  .tablet\:pr-10 { padding-right: clamp(5rem, 10vw, 10rem) !important; }
  .tablet\:pr-11 { padding-right: clamp(5.5rem, 11vw, 11rem) !important; }
  .tablet\:pr-12 { padding-right: clamp(6rem, 12vw, 12rem) !important; }
  .tablet\:pr-13 { padding-right: clamp(6.5rem, 13vw, 13rem) !important; }
  .tablet\:pr-14 { padding-right: clamp(7rem, 14vw, 14rem) !important; }
  .tablet\:pr-15 { padding-right: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Padding (All sides) === */
  .tablet\:p-0  {padding: 0 !important;}
  .tablet\:p-1  { padding: clamp(0.5rem, 1vw, 1rem) !important; }
  .tablet\:p-2  { padding: clamp(1rem, 2vw, 2rem) !important; }
  .tablet\:p-3  { padding: clamp(1.5rem, 3vw, 3rem) !important; }
  .tablet\:p-4  { padding: clamp(2rem, 4vw, 4rem) !important; }
  .tablet\:p-5  { padding: clamp(2.5rem, 5vw, 5rem) !important; }
  .tablet\:p-6  { padding: clamp(3rem, 6vw, 6rem) !important; }
  .tablet\:p-7  { padding: clamp(3.5rem, 7vw, 7rem) !important; }
  .tablet\:p-8  { padding: clamp(4rem, 8vw, 8rem) !important; }
  .tablet\:p-9  { padding: clamp(4.5rem, 9vw, 9rem) !important; }
  .tablet\:p-10 { padding: clamp(5rem, 10vw, 10rem) !important; }
  .tablet\:p-11 { padding: clamp(5.5rem, 11vw, 11rem) !important; }
  .tablet\:p-12 { padding: clamp(6rem, 12vw, 12rem) !important; }
  .tablet\:p-13 { padding: clamp(6.5rem, 13vw, 13rem) !important; }
  .tablet\:p-14 { padding: clamp(7rem, 14vw, 14rem) !important; }
  .tablet\:p-15 { padding: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Top === */
  .tablet\:top-0  { top: 0% !important; }
  .tablet\:top-5  { top: 5% !important; }
  .tablet\:top-10 { top: 10% !important; }
  .tablet\:top-15 { top: 15% !important; }
  .tablet\:top-20 { top: 20% !important; }
  .tablet\:top-25 { top: 25% !important; }
  .tablet\:top-30 { top: 30% !important; }
  .tablet\:top-35 { top: 35% !important; }
  .tablet\:top-40 { top: 40% !important; }
  .tablet\:top-45 { top: 45% !important; }
  .tablet\:top-50 { top: 50% !important; transform: translateY(-50%);}
  .tablet\:top-60 { top: 60% !important; }      
  .tablet\:top-70 { top: 70% !important; }
  .tablet\:top-80 { top: 80% !important; }
  .tablet\:top-90 { top: 90% !important; }
  .tablet\:top-100 { top: 100% !important; }

  .tablet\:top--5  { top: -5% !important; }
  .tablet\:top--10 { top: -10% !important; }
  .tablet\:top--15 { top: -15% !important; }
  .tablet\:top--20 { top: -20% !important; }
  .tablet\:top--25 { top: -25% !important; }
  .tablet\:top--30 { top: -30% !important; }
  .tablet\:top--35 { top: -35% !important; }
  .tablet\:top--40 { top: -40% !important; }
  .tablet\:top--45 { top: -45% !important; }
  .tablet\:top--50 { top: -50% !important; }
  .tablet\:top--60 { top: -60% !important; }
  .tablet\:top--70 { top: -70% !important; }
  .tablet\:top--80 { top: -80% !important; }
  .tablet\:top--90 { top: -90% !important; }
  .tablet\:top--100{ top: -100% !important; }

  /* === Responsive Left === */
  .tablet\:left-0  { left: 0% !important; }
  .tablet\:left-5  { left: 5% !important; }
  .tablet\:left-10 { left: 10% !important; }
  .tablet\:left-15 { left: 15% !important; }
  .tablet\:left-20 { left: 20% !important; }
  .tablet\:left-25 { left: 25% !important; }
  .tablet\:left-30 { left: 30% !important; }
  .tablet\:left-35 { left: 35% !important; }
  .tablet\:left-40 { left: 40% !important; }
  .tablet\:left-45 { left: 45% !important; }
  .tablet\:left-50 { left: 50% !important; transform: translateX(-50%); }
  .tablet\:left-60 { left: 60% !important; }
  .tablet\:left-70 { left: 70% !important; }
  .tablet\:left-80 { left: 80% !important; }
  .tablet\:left-90 { left: 90% !important; }
  .tablet\:left-100{ left: 100% !important; }

  .tablet\:left--5  { left: -5% !important; }
  .tablet\:left--10 { left: -10% !important; }
  .tablet\:left--15 { left: -15% !important; }
  .tablet\:left--20 { left: -20% !important; }
  .tablet\:left--25 { left: -25% !important; }
  .tablet\:left--30 { left: -30% !important; }
  .tablet\:left--35 { left: -35% !important; }
  .tablet\:left--40 { left: -40% !important; }
  .tablet\:left--45 { left: -45% !important; }
  .tablet\:left--50 { left: -50% !important; transform: translateX(50%);}
  .tablet\:left--60 { left: -60% !important; }
  .tablet\:left--70 { left: -70% !important; }
  .tablet\:left--80 { left: -80% !important; }
  .tablet\:left--90 { left: -90% !important; }
  .tablet\:left--100{ left: -100% !important; }

  /* === Responsive Right === */
  .tablet\:right-0  { right: 0% !important; }
  .tablet\:right-5  { right: 5% !important; }
  .tablet\:right-10 { right: 10% !important; }
  .tablet\:right-15 { right: 15% !important; }
  .tablet\:right-20 { right: 20% !important; }
  .tablet\:right-25 { right: 25% !important; }
  .tablet\:right-30 { right: 30% !important; }
  .tablet\:right-35 { right: 35% !important; }
  .tablet\:right-40 { right: 40% !important; }
  .tablet\:right-45 { right: 45% !important; }
  .tablet\:right-50 { right: 50% !important; transform: translateX(50%); }
  .tablet\:right-60 { right: 60% !important; }
  .tablet\:right-70 { right: 70% !important; }
  .tablet\:right-80 { right: 80% !important; }
  .tablet\:right-90 { right: 90% !important; }
  .tablet\:right-100{ right: 100% !important; }

  .tablet\:right--5  { right: -5% !important; }
  .tablet\:right--10 { right: -10% !important; }
  .tablet\:right--15 { right: -15% !important; }
  .tablet\:right--20 { right: -20% !important; }
  .tablet\:right--25 { right: -25% !important; }
  .tablet\:right--30 { right: -30% !important; }
  .tablet\:right--35 { right: -35% !important; }
  .tablet\:right--40 { right: -40% !important; }
  .tablet\:right--45 { right: -45% !important; }
  .tablet\:right--50 { right: -50% !important; transform: translateX(-50%); }
  .tablet\:right--60 { right: -60% !important; }
  .tablet\:right--70 { right: -70% !important; }
  .tablet\:right--80 { right: -80% !important; }
  .tablet\:right--90 { right: -90% !important; }
  .tablet\:right--100{ right: -100% !important; }

  /* === Responsive Bottom === */
  .tablet\:bottom-0  { bottom: 0% !important; }
  .tablet\:bottom-5  { bottom: 5% !important; }
  .tablet\:bottom-10 { bottom: 10% !important; }
  .tablet\:bottom-15 { bottom: 15% !important; }
  .tablet\:bottom-20 { bottom: 20% !important; }
  .tablet\:bottom-25 { bottom: 25% !important; }
  .tablet\:bottom-30 { bottom: 30% !important; }
  .tablet\:bottom-35 { bottom: 35% !important; }
  .tablet\:bottom-40 { bottom: 40% !important; }
  .tablet\:bottom-45 { bottom: 45% !important; }
  .tablet\:bottom-50 { bottom: 50% !important; }
  .tablet\:bottom-60 { bottom: 60% !important; }
  .tablet\:bottom-70 { bottom: 70% !important; }
  .tablet\:bottom-80 { bottom: 80% !important; }
  .tablet\:bottom-90 { bottom: 90% !important; }
  .tablet\:bottom-100{ bottom: 100% !important; }

  .tablet\:bottom--5  { bottom: -5% !important; }
  .tablet\:bottom--10 { bottom: -10% !important; }
  .tablet\:bottom--15 { bottom: -15% !important; }
  .tablet\:bottom--20 { bottom: -20% !important; }
  .tablet\:bottom--25 { bottom: -25% !important; }
  .tablet\:bottom--30 { bottom: -30% !important; }
  .tablet\:bottom--35 { bottom: -35% !important; }
  .tablet\:bottom--40 { bottom: -40% !important; }
  .tablet\:bottom--45 { bottom: -45% !important; }
  .tablet\:bottom--50 { bottom: -50% !important; }
  .tablet\:bottom--60 { bottom: -60% !important; }
  .tablet\:bottom--70 { bottom: -70% !important; }
  .tablet\:bottom--80 { bottom: -80% !important; }
  .tablet\:bottom--90 { bottom: -90% !important; }
  .tablet\:bottom--100{ bottom: -100% !important; }

  .tablet\:relative{position: relative !important;}
  .tablet\:absolute{position: absolute !important;}

  /* Allineamento lungo l'asse principale */

  .tablet\:justify-start {justify-content: flex-start !important;}
  .tablet\:justify-end {justify-content: flex-end !important;}
  .tablet\:justify-center { justify-content: center !important;}
  .tablet\:justify-between {justify-content: space-between !important;}
  .tablet\:justify-around {justify-content: space-around !important;}
  .tablet\:justify-evenly {justify-content: space-evenly !important;}

  /* Allineamento trasversale */

  .tablet\:items-start {align-items: flex-start !important;}
  .tablet\:items-end {align-items: flex-end !important;}
  .tablet\:items-center {align-items: center !important;}
  .tablet\:items-baseline {align-items: baseline !important;}
  .tablet\:items-stretch {align-items: stretch !important;}

}

@media (max-width: 768px) {
  .mobile\:max-w{max-width: 100%;}
  .mobile\:flex-row         { flex-direction: row !important; }
  .mobile\:flex-row-reverse { flex-direction: row-reverse !important; }
  .mobile\:flex-col{ flex-direction: column !important; }
  .mobile\:flex-col-reverse { flex-direction: column-reverse !important; }
  .mobile\:flex-wrap        { flex-wrap: wrap !important; }
  /* === Mobile Grid Columns === */
  .mobile\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
  .mobile\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .mobile\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .mobile\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .mobile\:grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .mobile\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }

  /* === Mobile Grid Rows === */
  .mobile\:grid-rows-1 { grid-template-rows: repeat(1, minmax(0, 1fr)) !important; }
  .mobile\:grid-rows-2 { grid-template-rows: repeat(2, minmax(0, 1fr)) !important; }
  .mobile\:grid-rows-3 { grid-template-rows: repeat(3, minmax(0, 1fr)) !important; }
  .mobile\:grid-rows-4 { grid-template-rows: repeat(4, minmax(0, 1fr)) !important; }
  
  .mobile\:basis-1-2  { flex-basis: 50% !important; }
  .mobile\:basis-1-3  { flex-basis: 33.3333% !important; }
  .mobile\:basis-2-3  { flex-basis: 66.6667% !important; }
  .mobile\:basis-1-4  { flex-basis: 25% !important; }
  .mobile\:basis-2-4  { flex-basis: 50% !important; }
  .mobile\:basis-3-4  { flex-basis: 75% !important; }
  .mobile\:basis-1-5  { flex-basis: 20% !important; }
  .mobile\:basis-2-5  { flex-basis: 40% !important; }
  .mobile\:basis-3-5  { flex-basis: 60% !important; }
  .mobile\:basis-4-5  { flex-basis: 80% !important; }
  .mobile\:basis-1-6  { flex-basis: 16.6667% !important; }
  .mobile\:basis-2-6  { flex-basis: 33.3333% !important; }
  .mobile\:basis-3-6  { flex-basis: 50% !important; }
  .mobile\:basis-4-6  { flex-basis: 66.6667% !important; }
  .mobile\:basis-5-6  { flex-basis: 83.3333% !important; }

  /* === Mobile Width === */
  .mobile\:w-7  { width: clamp(6%, 7vw, 8%) !important; }
  .mobile\:w-6  { width: clamp(5%, 6vw, 7%) !important; }
  .mobile\:w-8  { width: clamp(7%, 8vw, 9%) !important; }
  .mobile\:w-9  { width: clamp(8%, 9vw, 10%) !important; }
  .mobile\:w-15  { width: clamp(14%, 15vw, 16%) !important; }
  .mobile\:w-10  { width: clamp(9%, 10vw, 11%) !important; }
  .mobile\:w-20  { width: clamp(19%, 20vw, 21%) !important; }
  .mobile\:w-25  { width: clamp(24%, 25vw, 26%) !important; }
  .mobile\:w-30  { width: clamp(29%, 30vw, 31%) !important; }
  .mobile\:w-35  { width: clamp(34%, 35vw, 36%) !important; }
  .mobile\:w-40  { width: clamp(39%, 40vw, 41%) !important; }
  .mobile\:w-45  { width: clamp(44%, 45vw, 46%) !important; }
  .mobile\:w-50  { width: clamp(49%, 50vw, 51%) !important; }
  .mobile\:w-55  { width: clamp(54%, 55vw, 56%) !important; }
  .mobile\:w-60  { width: clamp(59%, 60vw, 61%) !important; }
  .mobile\:w-65  { width: clamp(64%, 65vw, 66%) !important; }
  .mobile\:w-70  { width: clamp(69%, 70vw, 71%) !important; }
  .mobile\:w-75  { width: clamp(74%, 75vw, 76%) !important; }
  .mobile\:w-80  { width: clamp(79%, 80vw, 81%) !important; }
  .mobile\:w-85  { width: clamp(84%, 85vw, 86%) !important; }
  .mobile\:w-90  { width: clamp(89%, 90vw, 91%) !important; }
  .mobile\:w-95  { width: clamp(94%, 95vw, 96%) !important; }
  .mobile\:w-100 { width: clamp(99%, 100vw, 100%) !important; }
  .mobile\:w-full{width: 100% !important;}
  .mobile\:w-auto{width: auto !important;}
  .mobile\:m-auto { margin: 0 auto !important; }

  /* === Mobile Height === */
  .mobile\:h-20  { height: clamp(12.5rem, 20vh, 15.5rem) !important; }
  .mobile\:h-25  { height: clamp(15.5rem, 25vh, 18.5rem) !important; }
  .mobile\:h-30  { height: clamp(18.5rem, 30vh, 21.5rem) !important; }
  .mobile\:h-35  { height: clamp(21.5rem, 35vh, 24.5rem) !important; }
  .mobile\:h-40  { height: clamp(24.5rem, 40vh, 27.5rem) !important; }
  .mobile\:h-45  { height: clamp(27.5rem, 45vh, 30.5rem) !important; }
  .mobile\:h-50  { height: clamp(30.5rem, 50vh, 33.5rem) !important; }
  .mobile\:h-55  { height: clamp(33.5rem, 55vh, 36.5rem) !important; }
  .mobile\:h-60  { height: clamp(36.5rem, 60vh, 39.5rem) !important; }
  .mobile\:h-65  { height: clamp(39.5rem, 65vh, 42.5rem) !important; }
  .mobile\:h-70  { height: clamp(42.5rem, 70vh, 45.5rem) !important; }
  .mobile\:h-75  { height: clamp(45.5rem, 75vh, 48.5rem) !important; }
  .mobile\:h-80  { height: clamp(48.5rem, 80vh, 51.5rem) !important; }
  .mobile\:h-85  { height: clamp(51.5rem, 85vh, 54.5rem) !important; }
  .mobile\:h-90  { height: clamp(54.5rem, 90vh, 57.5rem) !important; }
  .mobile\:h-95  { height: clamp(57.5rem, 95vh, 60.5rem) !important; }
  .mobile\:h-100 { height: clamp(60.5rem, 100vh, 63.5rem) !important; }
  .mobile\:h-full{height: 100% !important;}
  .mobile\:h-auto{height: auto !important;}

  /* Margin-bottom positivi con clamp */
  .mobile\:mb-1  { margin-bottom: clamp(0.5rem, 1vw, 1rem) !important; }
  .mobile\:mb-2  { margin-bottom: clamp(1rem, 2vw, 2rem) !important; }
  .mobile\:mb-3  { margin-bottom: clamp(1.5rem, 3vw, 3rem) !important; }
  .mobile\:mb-4  { margin-bottom: clamp(2rem, 4vw, 4rem) !important; }
  .mobile\:mb-5  { margin-bottom: clamp(2.5rem, 5vw, 5rem) !important; }
  .mobile\:mb-6  { margin-bottom: clamp(3rem, 6vw, 6rem) !important; }
  .mobile\:mb-7  { margin-bottom: clamp(3.5rem, 7vw, 7rem) !important; }
  .mobile\:mb-8  { margin-bottom: clamp(4rem, 8vw, 8rem) !important; }
  .mobile\:mb-9  { margin-bottom: clamp(4.5rem, 9vw, 9rem) !important; }
  .mobile\:mb-10 { margin-bottom: clamp(5rem, 10vw, 10rem) !important; }
  .mobile\:mb-11 { margin-bottom: clamp(5.5rem, 11vw, 11rem) !important; }
  .mobile\:mb-12 { margin-bottom: clamp(6rem, 12vw, 12rem) !important; }
  .mobile\:mb-13 { margin-bottom: clamp(6.5rem, 13vw, 13rem) !important; }
  .mobile\:mb-14 { margin-bottom: clamp(7rem, 14vw, 14rem) !important; }
  .mobile\:mb-15 { margin-bottom: clamp(7.5rem, 15vw, 15rem) !important; }

  /* Margin-bottom negativi con clamp */
  .mobile\:mb-0  { margin-bottom: 0 !important; }
  .mobile\:mb--1  { margin-bottom: clamp(-1rem, -1vw, -0.5rem) !important; }
  .mobile\:mb--2  { margin-bottom: clamp(-2rem, -2vw, -1rem) !important; }
  .mobile\:mb--3  { margin-bottom: clamp(-3rem, -3vw, -1.5rem) !important; }
  .mobile\:mb--4  { margin-bottom: clamp(-4rem, -4vw, -2rem) !important; }
  .mobile\:mb--5  { margin-bottom: clamp(-5rem, -5vw, -2.5rem) !important; }
  .mobile\:mb--6  { margin-bottom: clamp(-6rem, -6vw, -3rem) !important; }
  .mobile\:mb--7  { margin-bottom: clamp(-7rem, -7vw, -3.5rem) !important; }
  .mobile\:mb--8  { margin-bottom: clamp(-8rem, -8vw, -4rem) !important; }
  .mobile\:mb--9  { margin-bottom: clamp(-9rem, -9vw, -4.5rem) !important; }
  .mobile\:mb--10 { margin-bottom: clamp(-10rem, -10vw, -5rem) !important; }
  .mobile\:mb--11 { margin-bottom: clamp(-11rem, -11vw, -5.5rem) !important; }
  .mobile\:mb--12 { margin-bottom: clamp(-12rem, -12vw, -6rem) !important; }
  .mobile\:mb--13 { margin-bottom: clamp(-13rem, -13vw, -6.5rem) !important; }
  .mobile\:mb--14 { margin-bottom: clamp(-14rem, -14vw, -7rem) !important; }
  .mobile\:mb--15 { margin-bottom: clamp(-15rem, -15vw, -7.5rem) !important; }
  .mobile\:mb--16 { margin-bottom: clamp(-16rem, -16vw, -8rem) !important; }

  /* === Responsive Margin Right === */
  .mobile\:mr-0  { margin-right: 0 !important; }
  .mobile\:mr-1  { margin-right: clamp(0.5rem, 1vw, 1rem) !important; }
  .mobile\:mr-2  { margin-right: clamp(1rem, 2vw, 2rem) !important; }
  .mobile\:mr-3  { margin-right: clamp(1.5rem, 3vw, 3rem) !important; }
  .mobile\:mr-4  { margin-right: clamp(2rem, 4vw, 4rem) !important; }
  .mobile\:mr-5  { margin-right: clamp(2.5rem, 5vw, 5rem) !important; }
  .mobile\:mr-6  { margin-right: clamp(3rem, 6vw, 6rem) !important; }
  .mobile\:mr-7  { margin-right: clamp(3.5rem, 7vw, 7rem) !important; }
  .mobile\:mr-8  { margin-right: clamp(4rem, 8vw, 8rem) !important; }
  .mobile\:mr-9  { margin-right: clamp(4.5rem, 9vw, 9rem) !important; }
  .mobile\:mr-10 { margin-right: clamp(5rem, 10vw, 10rem) !important; }
  .mobile\:mr-11 { margin-right: clamp(5.5rem, 11vw, 11rem) !important; }
  .mobile\:mr-12 { margin-right: clamp(6rem, 12vw, 12rem) !important; }
  .mobile\:mr-13 { margin-right: clamp(6.5rem, 13vw, 13rem) !important; }
  .mobile\:mr-14 { margin-right: clamp(7rem, 14vw, 14rem) !important; }
  .mobile\:mr-15 { margin-right: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Margin Right Negative === */
  .mobile\:mr--1  { margin-right: clamp(-1rem, -1vw, -0.5rem) !important; }
  .mobile\:mr--2  { margin-right: clamp(-2rem, -2vw, -1rem) !important; }
  .mobile\:mr--3  { margin-right: clamp(-3rem, -3vw, -1.5rem) !important; }
  .mobile\:mr--4  { margin-right: clamp(-4rem, -4vw, -2rem) !important; }
  .mobile\:mr--5  { margin-right: clamp(-5rem, -5vw, -2.5rem) !important; }
  .mobile\:mr--6  { margin-right: clamp(-6rem, -6vw, -3rem) !important; }
  .mobile\:mr--7  { margin-right: clamp(-7rem, -7vw, -3.5rem) !important; }
  .mobile\:mr--8  { margin-right: clamp(-8rem, -8vw, -4rem) !important; }
  .mobile\:mr--9  { margin-right: clamp(-9rem, -9vw, -4.5rem) !important; }
  .mobile\:mr--10 { margin-right: clamp(-10rem, -10vw, -5rem) !important; }
  .mobile\:mr--11 { margin-right: clamp(-11rem, -11vw, -5.5rem) !important; }
  .mobile\:mr--12 { margin-right: clamp(-12rem, -12vw, -6rem) !important; }
  .mobile\:mr--13 { margin-right: clamp(-13rem, -13vw, -6.5rem) !important; }
  .mobile\:mr--14 { margin-right: clamp(-14rem, -14vw, -7rem) !important; }
  .mobile\:mr--15 { margin-right: clamp(-15rem, -15vw, -7.5rem) !important; }
  .mobile\:mr--16 { margin-right: clamp(-16rem, -16vw, -8rem) !important; }

  /* === Responsive Margin (All sides) === */
  .mobile\:m-0  { margin: 0 !important; }
  .mobile\:m-1  { margin: clamp(0.5rem, 1vw, 1rem) !important; }
  .mobile\:m-2  { margin: clamp(1rem, 2vw, 2rem) !important; }
  .mobile\:m-3  { margin: clamp(1.5rem, 3vw, 3rem) !important; }
  .mobile\:m-4  { margin: clamp(2rem, 4vw, 4rem) !important; }
  .mobile\:m-5  { margin: clamp(2.5rem, 5vw, 5rem) !important; }
  .mobile\:m-6  { margin: clamp(3rem, 6vw, 6rem) !important; }
  .mobile\:m-7  { margin: clamp(3.5rem, 7vw, 7rem) !important; }
  .mobile\:m-8  { margin: clamp(4rem, 8vw, 8rem) !important; }
  .mobile\:m-9  { margin: clamp(4.5rem, 9vw, 9rem) !important; }
  .mobile\:m-10 { margin: clamp(5rem, 10vw, 10rem) !important; }
  .mobile\:m-11 { margin: clamp(5.5rem, 11vw, 11rem) !important; }
  .mobile\:m-12 { margin: clamp(6rem, 12vw, 12rem) !important; }
  .mobile\:m-13 { margin: clamp(6.5rem, 13vw, 13rem) !important; }
  .mobile\:m-14 { margin: clamp(7rem, 14vw, 14rem) !important; }
  .mobile\:m-15 { margin: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Margin Negative (All sides) === */
  .mobile\:m--1  { margin: clamp(-1rem, -1vw, -0.5rem) !important; }
  .mobile\:m--2  { margin: clamp(-2rem, -2vw, -1rem) !important; }
  .mobile\:m--3  { margin: clamp(-3rem, -3vw, -1.5rem) !important; }
  .mobile\:m--4  { margin: clamp(-4rem, -4vw, -2rem) !important; }
  .mobile\:m--5  { margin: clamp(-5rem, -5vw, -2.5rem) !important; }
  .mobile\:m--6  { margin: clamp(-6rem, -6vw, -3rem) !important; }
  .mobile\:m--7  { margin: clamp(-7rem, -7vw, -3.5rem) !important; }
  .mobile\:m--8  { margin: clamp(-8rem, -8vw, -4rem) !important; }
  .mobile\:m--9  { margin: clamp(-9rem, -9vw, -4.5rem) !important; }
  .mobile\:m--10 { margin: clamp(-10rem, -10vw, -5rem) !important; }
  .mobile\:m--11 { margin: clamp(-11rem, -11vw, -5.5rem) !important; }
  .mobile\:m--12 { margin: clamp(-12rem, -12vw, -6rem) !important; }
  .mobile\:m--13 { margin: clamp(-13rem, -13vw, -6.5rem) !important; }
  .mobile\:m--14 { margin: clamp(-14rem, -14vw, -7rem) !important; }
  .mobile\:m--15 { margin: clamp(-15rem, -15vw, -7.5rem) !important; }
  .mobile\:m--16 { margin: clamp(-16rem, -16vw, -8rem) !important; }
  .mobile\:m-auto { margin: 0 auto !important; }
  .mobile\:mx-auto{margin-left:auto ;margin-right: auto;}

  /* === Responsive Margin Left === */
  .mobile\:ml-0  { margin-left: 0 !important; }
  .mobile\:ml-1  { margin-left: clamp(0.5rem, 1vw, 1rem) !important; }
  .mobile\:ml-2  { margin-left: clamp(1rem, 2vw, 2rem) !important; }
  .mobile\:ml-3  { margin-left: clamp(1.5rem, 3vw, 3rem) !important; }
  .mobile\:ml-4  { margin-left: clamp(2rem, 4vw, 4rem) !important; }
  .mobile\:ml-5  { margin-left: clamp(2.5rem, 5vw, 5rem) !important; }
  .mobile\:ml-6  { margin-left: clamp(3rem, 6vw, 6rem) !important; }
  .mobile\:ml-7  { margin-left: clamp(3.5rem, 7vw, 7rem) !important; }
  .mobile\:ml-8  { margin-left: clamp(4rem, 8vw, 8rem) !important; }
  .mobile\:ml-9  { margin-left: clamp(4.5rem, 9vw, 9rem) !important; }
  .mobile\:ml-10 { margin-left: clamp(5rem, 10vw, 10rem) !important; }
  .mobile\:ml-11 { margin-left: clamp(5.5rem, 11vw, 11rem) !important; }
  .mobile\:ml-12 { margin-left: clamp(6rem, 12vw, 12rem) !important; }
  .mobile\:ml-13 { margin-left: clamp(6.5rem, 13vw, 13rem) !important; }
  .mobile\:ml-14 { margin-left: clamp(7rem, 14vw, 14rem) !important; }
  .mobile\:ml-15 { margin-left: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Margin Left Negative === */
  .mobile\:ml--1  { margin-left: clamp(-1rem, -1vw, -0.5rem) !important; }
  .mobile\:ml--2  { margin-left: clamp(-2rem, -2vw, -1rem) !important; }
  .mobile\:ml--3  { margin-left: clamp(-3rem, -3vw, -1.5rem) !important; }
  .mobile\:ml--4  { margin-left: clamp(-4rem, -4vw, -2rem) !important; }
  .mobile\:ml--5  { margin-left: clamp(-5rem, -5vw, -2.5rem) !important; }
  .mobile\:ml--6  { margin-left: clamp(-6rem, -6vw, -3rem) !important; }
  .mobile\:ml--7  { margin-left: clamp(-7rem, -7vw, -3.5rem) !important; }
  .mobile\:ml--8  { margin-left: clamp(-8rem, -8vw, -4rem) !important; }
  .mobile\:ml--9  { margin-left: clamp(-9rem, -9vw, -4.5rem) !important; }
  .mobile\:ml--10 { margin-left: clamp(-10rem, -10vw, -5rem) !important; }
  .mobile\:ml--11 { margin-left: clamp(-11rem, -11vw, -5.5rem) !important; }
  .mobile\:ml--12 { margin-left: clamp(-12rem, -12vw, -6rem) !important; }
  .mobile\:ml--13 { margin-left: clamp(-13rem, -13vw, -6.5rem) !important; }
  .mobile\:ml--14 { margin-left: clamp(-14rem, -14vw, -7rem) !important; }
  .mobile\:ml--15 { margin-left: clamp(-15rem, -15vw, -7.5rem) !important; }
  .mobile\:ml--16 { margin-left: clamp(-16rem, -16vw, -8rem) !important; }

  /* === Responsive Margin Top === */
  .mobile\:mt-0  { margin-top: 0 !important; }
  .mobile\:mt-1  { margin-top: clamp(0.5rem, 1vw, 1rem) !important; }
  .mobile\:mt-2  { margin-top: clamp(1rem, 2vw, 2rem) !important; }
  .mobile\:mt-3  { margin-top: clamp(1.5rem, 3vw, 3rem) !important; }
  .mobile\:mt-4  { margin-top: clamp(2rem, 4vw, 4rem) !important; }
  .mobile\:mt-5  { margin-top: clamp(2.5rem, 5vw, 5rem) !important; }
  .mobile\:mt-6  { margin-top: clamp(3rem, 6vw, 6rem) !important; }
  .mobile\:mt-7  { margin-top: clamp(3.5rem, 7vw, 7rem) !important; }
  .mobile\:mt-8  { margin-top: clamp(4rem, 8vw, 8rem) !important; }
  .mobile\:mt-9  { margin-top: clamp(4.5rem, 9vw, 9rem) !important; }
  .mobile\:mt-10 { margin-top: clamp(5rem, 10vw, 10rem) !important; }
  .mobile\:mt-11 { margin-top: clamp(5.5rem, 11vw, 11rem) !important; }
  .mobile\:mt-12 { margin-top: clamp(6rem, 12vw, 12rem) !important; }
  .mobile\:mt-13 { margin-top: clamp(6.5rem, 13vw, 13rem) !important; }
  .mobile\:mt-14 { margin-top: clamp(7rem, 14vw, 14rem) !important; }
  .mobile\:mt-15 { margin-top: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Margin Top Negative === */
  .mobile\:mt--1  { margin-top: clamp(-1rem, -1vw, -0.5rem) !important; }
  .mobile\:mt--2  { margin-top: clamp(-2rem, -2vw, -1rem) !important; }
  .mobile\:mt--3  { margin-top: clamp(-3rem, -3vw, -1.5rem) !important; }
  .mobile\:mt--4  { margin-top: clamp(-4rem, -4vw, -2rem) !important; }
  .mobile\:mt--5  { margin-top: clamp(-5rem, -5vw, -2.5rem) !important; }
  .mobile\:mt--6  { margin-top: clamp(-6rem, -6vw, -3rem) !important; }
  .mobile\:mt--7  { margin-top: clamp(-7rem, -7vw, -3.5rem) !important; }
  .mobile\:mt--8  { margin-top: clamp(-8rem, -8vw, -4rem) !important; }
  .mobile\:mt--9  { margin-top: clamp(-9rem, -9vw, -4.5rem) !important; }
  .mobile\:mt--10 { margin-top: clamp(-10rem, -10vw, -5rem) !important; }
  .mobile\:mt--11 { margin-top: clamp(-11rem, -11vw, -5.5rem) !important; }
  .mobile\:mt--12 { margin-top: clamp(-12rem, -12vw, -6rem) !important; }
  .mobile\:mt--13 { margin-top: clamp(-13rem, -13vw, -6.5rem) !important; }
  .mobile\:mt--14 { margin-top: clamp(-14rem, -14vw, -7rem) !important; }
  .mobile\:mt--15 { margin-top: clamp(-15rem, -15vw, -7.5rem) !important; }
  .mobile\:mt--16 { margin-top: clamp(-16rem, -16vw, -8rem) !important; }

  /* === Responsive Padding Top === */
  .mobile\:pt-0{padding-top: 0 !important;}
  .mobile\:pt-1  { padding-top: clamp(0.5rem, 1vw, 1rem) !important; }
  .mobile\:pt-2  { padding-top: clamp(1rem, 2vw, 2rem) !important; }
  .mobile\:pt-3  { padding-top: clamp(1.5rem, 3vw, 3rem) !important; }
  .mobile\:pt-4  { padding-top: clamp(2rem, 4vw, 4rem) !important; }
  .mobile\:pt-5  { padding-top: clamp(2.5rem, 5vw, 5rem) !important; }
  .mobile\:pt-6  { padding-top: clamp(3rem, 6vw, 6rem) !important; }
  .mobile\:pt-7  { padding-top: clamp(3.5rem, 7vw, 7rem) !important; }
  .mobile\:pt-8  { padding-top: clamp(4rem, 8vw, 8rem) !important; }
  .mobile\:pt-9  { padding-top: clamp(4.5rem, 9vw, 9rem) !important; }
  .mobile\:pt-10 { padding-top: clamp(5rem, 10vw, 10rem) !important; }
  .mobile\:pt-11 { padding-top: clamp(5.5rem, 11vw, 11rem) !important; }
  .mobile\:pt-12 { padding-top: clamp(6rem, 12vw, 12rem) !important; }
  .mobile\:pt-13 { padding-top: clamp(6.5rem, 13vw, 13rem) !important; }
  .mobile\:pt-14 { padding-top: clamp(7rem, 14vw, 14rem) !important; }
  .mobile\:pt-15 { padding-top: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Padding Bottom === */
  .mobile\:pb-0{padding-bottom: 0 !important;}
  .mobile\:pb-1  { padding-bottom: clamp(0.5rem, 1vw, 1rem) !important; }
  .mobile\:pb-2  { padding-bottom: clamp(1rem, 2vw, 2rem) !important; }
  .mobile\:pb-3  { padding-bottom: clamp(1.5rem, 3vw, 3rem) !important; }
  .mobile\:pb-4  { padding-bottom: clamp(2rem, 4vw, 4rem) !important; }
  .mobile\:pb-5  { padding-bottom: clamp(2.5rem, 5vw, 5rem) !important; }
  .mobile\:pb-6  { padding-bottom: clamp(3rem, 6vw, 6rem) !important; }
  .mobile\:pb-7  { padding-bottom: clamp(3.5rem, 7vw, 7rem) !important; }
  .mobile\:pb-8  { padding-bottom: clamp(4rem, 8vw, 8rem) !important; }
  .mobile\:pb-9  { padding-bottom: clamp(4.5rem, 9vw, 9rem) !important; }
  .mobile\:pb-10 { padding-bottom: clamp(5rem, 10vw, 10rem) !important; }
  .mobile\:pb-11 { padding-bottom: clamp(5.5rem, 11vw, 11rem) !important; }
  .mobile\:pb-12 { padding-bottom: clamp(6rem, 12vw, 12rem) !important; }
  .mobile\:pb-13 { padding-bottom: clamp(6.5rem, 13vw, 13rem) !important; }
  .mobile\:pb-14 { padding-bottom: clamp(7rem, 14vw, 14rem) !important; }
  .mobile\:pb-15 { padding-bottom: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Padding Left === */
  .mobile\:pl-0 { padding-left: 0 !important; }
  .mobile\:pl-1  { padding-left: clamp(0.5rem, 1vw, 1rem) !important; }
  .mobile\:pl-2  { padding-left: clamp(1rem, 2vw, 2rem) !important; }
  .mobile\:pl-3  { padding-left: clamp(1.5rem, 3vw, 3rem) !important; }
  .mobile\:pl-4  { padding-left: clamp(2rem, 4vw, 4rem) !important; }
  .mobile\:pl-5  { padding-left: clamp(2.5rem, 5vw, 5rem) !important; }
  .mobile\:pl-6  { padding-left: clamp(3rem, 6vw, 6rem) !important; }
  .mobile\:pl-7  { padding-left: clamp(3.5rem, 7vw, 7rem) !important; }
  .mobile\:pl-8  { padding-left: clamp(4rem, 8vw, 8rem) !important; }
  .mobile\:pl-9  { padding-left: clamp(4.5rem, 9vw, 9rem) !important; }
  .mobile\:pl-10 { padding-left: clamp(5rem, 10vw, 10rem) !important; }
  .mobile\:pl-11 { padding-left: clamp(5.5rem, 11vw, 11rem) !important; }
  .mobile\:pl-12 { padding-left: clamp(6rem, 12vw, 12rem) !important; }
  .mobile\:pl-13 { padding-left: clamp(6.5rem, 13vw, 13rem) !important; }
  .mobile\:pl-14 { padding-left: clamp(7rem, 14vw, 14rem) !important; }
  .mobile\:pl-15 { padding-left: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Padding Right === */
  .mobile\:pr-0 { padding-right: 0 !important; }
  .mobile\:pr-1  { padding-right: clamp(0.5rem, 1vw, 1rem) !important; }
  .mobile\:pr-2  { padding-right: clamp(1rem, 2vw, 2rem) !important; }
  .mobile\:pr-3  { padding-right: clamp(1.5rem, 3vw, 3rem) !important; }
  .mobile\:pr-4  { padding-right: clamp(2rem, 4vw, 4rem) !important; }
  .mobile\:pr-5  { padding-right: clamp(2.5rem, 5vw, 5rem) !important; }
  .mobile\:pr-6  { padding-right: clamp(3rem, 6vw, 6rem) !important; }
  .mobile\:pr-7  { padding-right: clamp(3.5rem, 7vw, 7rem) !important; }
  .mobile\:pr-8  { padding-right: clamp(4rem, 8vw, 8rem) !important; }
  .mobile\:pr-9  { padding-right: clamp(4.5rem, 9vw, 9rem) !important; }
  .mobile\:pr-10 { padding-right: clamp(5rem, 10vw, 10rem) !important; }
  .mobile\:pr-11 { padding-right: clamp(5.5rem, 11vw, 11rem) !important; }
  .mobile\:pr-12 { padding-right: clamp(6rem, 12vw, 12rem) !important; }
  .mobile\:pr-13 { padding-right: clamp(6.5rem, 13vw, 13rem) !important; }
  .mobile\:pr-14 { padding-right: clamp(7rem, 14vw, 14rem) !important; }
  .mobile\:pr-15 { padding-right: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Padding (All sides) === */
  .mobile\:p-0  {padding: 0 !important;}
  .mobile\:p-1  { padding: clamp(0.5rem, 1vw, 1rem) !important; }
  .mobile\:p-2  { padding: clamp(1rem, 2vw, 2rem) !important; }
  .mobile\:p-3  { padding: clamp(1.5rem, 3vw, 3rem) !important; }
  .mobile\:p-4  { padding: clamp(2rem, 4vw, 4rem) !important; }
  .mobile\:p-5  { padding: clamp(2.5rem, 5vw, 5rem) !important; }
  .mobile\:p-6  { padding: clamp(3rem, 6vw, 6rem) !important; }
  .mobile\:p-7  { padding: clamp(3.5rem, 7vw, 7rem) !important; }
  .mobile\:p-8  { padding: clamp(4rem, 8vw, 8rem) !important; }
  .mobile\:p-9  { padding: clamp(4.5rem, 9vw, 9rem) !important; }
  .mobile\:p-10 { padding: clamp(5rem, 10vw, 10rem) !important; }
  .mobile\:p-11 { padding: clamp(5.5rem, 11vw, 11rem) !important; }
  .mobile\:p-12 { padding: clamp(6rem, 12vw, 12rem) !important; }
  .mobile\:p-13 { padding: clamp(6.5rem, 13vw, 13rem) !important; }
  .mobile\:p-14 { padding: clamp(7rem, 14vw, 14rem) !important; }
  .mobile\:p-15 { padding: clamp(7.5rem, 15vw, 15rem) !important; }

  /* === Responsive Top === */
  .mobile\:top-0  { top: 0% !important; }
  .mobile\:top-5  { top: 5% !important; }
  .mobile\:top-10 { top: 10% !important; }
  .mobile\:top-15 { top: 15% !important; }
  .mobile\:top-20 { top: 20% !important; }
  .mobile\:top-25 { top: 25% !important; }
  .mobile\:top-30 { top: 30% !important; }
  .mobile\:top-35 { top: 35% !important; }
  .mobile\:top-40 { top: 40% !important; }
  .mobile\:top-45 { top: 45% !important; }
  .mobile\:top-50 { top: 50% !important; transform: translateY(-50%);}
  .mobile\:top-60 { top: 60% !important; }      
  .mobile\:top-70 { top: 70% !important; }
  .mobile\:top-80 { top: 80% !important; }
  .mobile\:top-90 { top: 90% !important; }
  .mobile\:top-100 { top: 100% !important; }

  .mobile\:top--5  { top: -5% !important; }
  .mobile\:top--10 { top: -10% !important; }
  .mobile\:top--15 { top: -15% !important; }
  .mobile\:top--20 { top: -20% !important; }
  .mobile\:top--25 { top: -25% !important; }
  .mobile\:top--30 { top: -30% !important; }
  .mobile\:top--35 { top: -35% !important; }
  .mobile\:top--40 { top: -40% !important; }
  .mobile\:top--45 { top: -45% !important; }
  .mobile\:top--50 { top: -50% !important; }
  .mobile\:top--60 { top: -60% !important; }
  .mobile\:top--70 { top: -70% !important; }
  .mobile\:top--80 { top: -80% !important; }
  .mobile\:top--90 { top: -90% !important; }
  .mobile\:top--100{ top: -100% !important; }

  /* === Responsive Left === */
  .mobile\:left-0  { left: 0% !important; }
  .mobile\:left-5  { left: 5% !important; }
  .mobile\:left-10 { left: 10% !important; }
  .mobile\:left-15 { left: 15% !important; }
  .mobile\:left-20 { left: 20% !important; }
  .mobile\:left-25 { left: 25% !important; }
  .mobile\:left-30 { left: 30% !important; }
  .mobile\:left-35 { left: 35% !important; }
  .mobile\:left-40 { left: 40% !important; }
  .mobile\:left-45 { left: 45% !important; }
  .mobile\:left-50 { left: 50% !important; transform: translateX(-50%); }
  .mobile\:left-60 { left: 60% !important; }
  .mobile\:left-70 { left: 70% !important; }
  .mobile\:left-80 { left: 80% !important; }
  .mobile\:left-90 { left: 90% !important; }
  .mobile\:left-100{ left: 100% !important; }

  .mobile\:left--5  { left: -5% !important; }
  .mobile\:left--10 { left: -10% !important; }
  .mobile\:left--15 { left: -15% !important; }
  .mobile\:left--20 { left: -20% !important; }
  .mobile\:left--25 { left: -25% !important; }
  .mobile\:left--30 { left: -30% !important; }
  .mobile\:left--35 { left: -35% !important; }
  .mobile\:left--40 { left: -40% !important; }
  .mobile\:left--45 { left: -45% !important; }
  .mobile\:left--50 { left: -50% !important; transform: translateX(50%);}
  .mobile\:left--60 { left: -60% !important; }
  .mobile\:left--70 { left: -70% !important; }
  .mobile\:left--80 { left: -80% !important; }
  .mobile\:left--90 { left: -90% !important; }
  .mobile\:left--100{ left: -100% !important; }

  /* === Responsive Right === */
  .mobile\:right-0  { right: 0% !important; }
  .mobile\:right-5  { right: 5% !important; }
  .mobile\:right-10 { right: 10% !important; }
  .mobile\:right-15 { right: 15% !important; }
  .mobile\:right-20 { right: 20% !important; }
  .mobile\:right-25 { right: 25% !important; }
  .mobile\:right-30 { right: 30% !important; }
  .mobile\:right-35 { right: 35% !important; }
  .mobile\:right-40 { right: 40% !important; }
  .mobile\:right-45 { right: 45% !important; }
  .mobile\:right-50 { right: 50% !important; transform: translateX(50%); }
  .mobile\:right-60 { right: 60% !important; }
  .mobile\:right-70 { right: 70% !important; }
  .mobile\:right-80 { right: 80% !important; }
  .mobile\:right-90 { right: 90% !important; }
  .mobile\:right-100{ right: 100% !important; }

  .mobile\:right--5  { right: -5% !important; }
  .mobile\:right--10 { right: -10% !important; }
  .mobile\:right--15 { right: -15% !important; }
  .mobile\:right--20 { right: -20% !important; }
  .mobile\:right--25 { right: -25% !important; }
  .mobile\:right--30 { right: -30% !important; }
  .mobile\:right--35 { right: -35% !important; }
  .mobile\:right--40 { right: -40% !important; }
  .mobile\:right--45 { right: -45% !important; }
  .mobile\:right--50 { right: -50% !important; transform: translateX(-50%); }
  .mobile\:right--60 { right: -60% !important; }
  .mobile\:right--70 { right: -70% !important; }
  .mobile\:right--80 { right: -80% !important; }
  .mobile\:right--90 { right: -90% !important; }
  .mobile\:right--100{ right: -100% !important; }

  /* === Responsive Bottom === */
  .mobile\:bottom-0  { bottom: 0% !important; }
  .mobile\:bottom-5  { bottom: 5% !important; }
  .mobile\:bottom-10 { bottom: 10% !important; }
  .mobile\:bottom-15 { bottom: 15% !important; }
  .mobile\:bottom-20 { bottom: 20% !important; }
  .mobile\:bottom-25 { bottom: 25% !important; }
  .mobile\:bottom-30 { bottom: 30% !important; }
  .mobile\:bottom-35 { bottom: 35% !important; }
  .mobile\:bottom-40 { bottom: 40% !important; }
  .mobile\:bottom-45 { bottom: 45% !important; }
  .mobile\:bottom-50 { bottom: 50% !important; }
  .mobile\:bottom-60 { bottom: 60% !important; }
  .mobile\:bottom-70 { bottom: 70% !important; }
  .mobile\:bottom-80 { bottom: 80% !important; }
  .mobile\:bottom-90 { bottom: 90% !important; }
  .mobile\:bottom-100{ bottom: 100% !important; }

  .mobile\:bottom--5  { bottom: -5% !important; }
  .mobile\:bottom--10 { bottom: -10% !important; }
  .mobile\:bottom--15 { bottom: -15% !important; }
  .mobile\:bottom--20 { bottom: -20% !important; }
  .mobile\:bottom--25 { bottom: -25% !important; }
  .mobile\:bottom--30 { bottom: -30% !important; }
  .mobile\:bottom--35 { bottom: -35% !important; }
  .mobile\:bottom--40 { bottom: -40% !important; }
  .mobile\:bottom--45 { bottom: -45% !important; }
  .mobile\:bottom--50 { bottom: -50% !important; }
  .mobile\:bottom--60 { bottom: -60% !important; }
  .mobile\:bottom--70 { bottom: -70% !important; }
  .mobile\:bottom--80 { bottom: -80% !important; }
  .mobile\:bottom--90 { bottom: -90% !important; }
  .mobile\:bottom--100{ bottom: -100% !important; }

  .mobile\:relative{position: relative !important;}
  .mobile\:absolute{position: absolute !important;}

  /* Allineamento lungo l'asse principale */

  .mobile\:justify-start {justify-content: flex-start !important;}
  .mobile\:justify-end {justify-content: flex-end !important;}
  .mobile\:justify-center { justify-content: center !important;}
  .mobile\:justify-between {justify-content: space-between !important;}
  .mobile\:justify-around {justify-content: space-around !important;}
  .mobile\:justify-evenly {justify-content: space-evenly !important;}

  /* Allineamento trasversale */

  .mobile\:items-start {align-items: flex-start !important;}
  .mobile\:items-end {align-items: flex-end !important;}
  .mobile\:items-center {align-items: center !important;}
  .mobile\:items-baseline {align-items: baseline !important;}
  .mobile\:items-stretch {align-items: stretch !important;}

}







/* === Responsive Gap === */
.gap-0   { gap: clamp(0px, 0vw, 0px) !important; }
.gap-5   { gap: clamp(3px, 0.5vw, 5px) !important; }
.gap-10  { gap: clamp(6px, 1vw, 10px) !important; }
.gap-15  { gap: clamp(9px, 1.5vw, 15px) !important; }
.gap-20  { gap: clamp(12px, 2vw, 20px) !important; }
.gap-25  { gap: clamp(15px, 2.5vw, 25px) !important; }
.gap-30  { gap: clamp(18px, 3vw, 30px) !important; }
.gap-35  { gap: clamp(21px, 3.5vw, 35px) !important; }
.gap-40  { gap: clamp(24px, 4vw, 40px) !important; }
.gap-45  { gap: clamp(27px, 4.5vw, 45px) !important; }
.gap-50  { gap: clamp(30px, 5vw, 50px) !important; }
.gap-60  { gap: clamp(36px, 6vw, 60px) !important; }
.gap-65  { gap: clamp(39px, 6.5vw, 65px) !important; }
.gap-70  { gap: clamp(42px, 7vw, 70px) !important; }
.gap-80  { gap: clamp(48px, 8vw, 80px) !important; }
.gap-90  { gap: clamp(54px, 9vw, 90px) !important; }
.gap-100 { gap: clamp(60px, 10vw, 100px) !important; }



/* Allineamento lungo l'asse principale */

.justify-start {justify-content: flex-start!important;}
.justify-end {justify-content: flex-end!important;}
.justify-center { justify-content: center!important;}
.justify-between {justify-content: space-between!important;}
.justify-around {justify-content: space-around!important;}
.justify-evenly {justify-content: space-evenly!important;}

/* Allineamento trasversale */

.items-start {align-items: flex-start!important;}
.items-end {align-items: flex-end!important;}
.items-center {align-items: center!important;}
.items-baseline {align-items: baseline!important;}
.items-stretch {align-items: stretch!important;}



/* === Responsive Row Gap === */
.row-gap-0   { row-gap: clamp(0px, 0vw, 0px) !important; }
.row-gap-5   { row-gap: clamp(3px, 0.5vw, 5px) !important; }
.row-gap-10  { row-gap: clamp(6px, 1vw, 10px) !important; }
.row-gap-15  { row-gap: clamp(9px, 1.5vw, 15px) !important; }
.row-gap-20  { row-gap: clamp(12px, 2vw, 20px) !important; }
.row-gap-25  { row-gap: clamp(15px, 2.5vw, 25px) !important; }
.row-gap-30  { row-gap: clamp(18px, 3vw, 30px) !important; }
.row-gap-35  { row-gap: clamp(21px, 3.5vw, 35px) !important; }
.row-gap-40  { row-gap: clamp(24px, 4vw, 40px) !important; }
.row-gap-45  { row-gap: clamp(27px, 4.5vw, 45px) !important; }
.row-gap-50  { row-gap: clamp(30px, 5vw, 50px) !important; }
.row-gap-60  { row-gap: clamp(36px, 6vw, 60px) !important; }
.row-gap-65  { row-gap: clamp(39px, 6.5vw, 65px) !important; }
.row-gap-70  { row-gap: clamp(42px, 7vw, 70px) !important; }
.row-gap-80  { row-gap: clamp(48px, 8vw, 80px) !important; }
.row-gap-90  { row-gap: clamp(54px, 9vw, 90px) !important; }
.row-gap-100 { row-gap: clamp(60px, 10vw, 100px) !important; }

/* === Responsive Column Gap === */
.column-gap-0   { column-gap: clamp(0px, 0vw, 0px) !important; }
.column-gap-5   { column-gap: clamp(3px, 0.5vw, 5px) !important; }
.column-gap-10  { column-gap: clamp(6px, 1vw, 10px) !important; }
.column-gap-15  { column-gap: clamp(9px, 1.5vw, 15px) !important; }
.column-gap-20  { column-gap: clamp(12px, 2vw, 20px) !important; }
.column-gap-25  { column-gap: clamp(15px, 2.5vw, 25px) !important; }
.column-gap-30  { column-gap: clamp(18px, 3vw, 30px) !important; }
.column-gap-35  { column-gap: clamp(21px, 3.5vw, 35px) !important; }
.column-gap-40  { column-gap: clamp(24px, 4vw, 40px) !important; }
.column-gap-45  { column-gap: clamp(27px, 4.5vw, 45px) !important; }
.column-gap-50  { column-gap: clamp(30px, 5vw, 50px) !important; }
.column-gap-60  { column-gap: clamp(36px, 6vw, 60px) !important; }
.column-gap-65  { column-gap: clamp(39px, 6.5vw, 65px) !important; }
.column-gap-70  { column-gap: clamp(42px, 7vw, 70px) !important; }
.column-gap-80  { column-gap: clamp(48px, 8vw, 80px) !important; }
.column-gap-90  { column-gap: clamp(54px, 9vw, 90px) !important; }
.column-gap-100 { column-gap: clamp(60px, 10vw, 100px) !important; }



/* Utility - Copertina */

.cover-bg {
  position: relative;
  background-image: var(--cover-bg-default); /* Usa solo per background-image */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
  
.cover-bg-before::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3));
}

/* altro */

.full-w-dx{max-width: 100vw; margin:0 auto 0 5vw ;}
.full-w-sx{max-width: 100vw; margin:0 5vw 0 auto;}
.blue{color: var(--blue);}
.blue p{color: var(--site-text-color);}
.blue li{color: var(--site-text-color);}

.max-fit{max-width: fit-content !important;}

.list-clear{list-style-type: none;}

.text-site-bg{color: var(--site-bg) !important;}
.text-blue{color: var(--blue);}
.text-black{color: var(--site-text-color);}
.text-center{text-align: center;}
.text-left{text-align: left;}
.text-right{text-align: right;}


.grayscale {filter: grayscale(100%);}

.wp-block-cover{min-height: inherit !important;}


.btn-with-svg {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
}
.btn-with-svg:hover{gap: 8px;}

.btn-with-svg::before {
  content: '';
  display: inline-block;
  width: 20px;              /* parte da 0, così il testo non si sposta */
  height: 20px;
  transition: all 0.3s cubic-bezier(.215, .61, .355, 1);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'><path d='M6.49957 16.0002C6.34155 16.001 6.18704 15.9536 6.0567 15.8642C5.92637 15.7749 5.8264 15.6479 5.77017 15.5002L4.52512 12.2626C4.49991 12.1974 4.46133 12.1381 4.41188 12.0886C4.36242 12.0392 4.30317 12.0006 4.23793 11.9754L0.999379 10.7294C0.851856 10.6728 0.724969 10.5728 0.635465 10.4426C0.545961 10.3123 0.498047 10.158 0.498047 10C0.498047 9.84201 0.545961 9.68771 0.635465 9.55749C0.724969 9.42727 0.851856 9.32725 0.999379 9.27063L4.23699 8.02559C4.30223 8.00038 4.36148 7.9618 4.41094 7.91234C4.4604 7.86289 4.49897 7.80364 4.52419 7.7384L5.77017 4.49986C5.82679 4.35234 5.92681 4.22546 6.05703 4.13595C6.18725 4.04645 6.34155 3.99854 6.49957 3.99854C6.65758 3.99854 6.81188 4.04645 6.9421 4.13595C7.07233 4.22546 7.17235 4.35234 7.22897 4.49986L8.47401 7.73746C8.49922 7.8027 8.5378 7.86195 8.58726 7.91141C8.63672 7.96086 8.69597 7.99944 8.76121 8.02466L11.9801 9.26313C12.1336 9.32004 12.2659 9.42287 12.3589 9.55764C12.4518 9.6924 12.501 9.85255 12.4998 10.0163C12.4974 10.1715 12.4485 10.3225 12.3593 10.4497C12.2702 10.5768 12.1449 10.6743 11.9998 10.7294L8.76214 11.9745C8.6969 11.9997 8.63765 12.0382 8.58819 12.0877C8.53874 12.1372 8.50016 12.1964 8.47495 12.2617L7.22897 15.5002C7.17273 15.6479 7.07277 15.7749 6.94243 15.8642C6.81209 15.9536 6.65759 16.001 6.49957 16.0002Z' fill='black'/><path d='M2.75003 5.50007C2.65739 5.50007 2.56693 5.472 2.49055 5.41956C2.41418 5.36712 2.35549 5.29277 2.32221 5.20632L1.79531 3.83628C1.78389 3.80631 1.76627 3.7791 1.7436 3.75643C1.72092 3.73375 1.69371 3.71613 1.66375 3.70471L0.293701 3.17782C0.207254 3.14453 0.13292 3.08583 0.0804912 3.00946C0.0280628 2.93309 0 2.84263 0 2.74999C0 2.65736 0.0280628 2.5669 0.0804912 2.49053C0.13292 2.41416 0.207254 2.35546 0.293701 2.32217L1.66375 1.79528C1.69368 1.78381 1.72087 1.76616 1.74353 1.7435C1.7662 1.72083 1.78384 1.69365 1.79531 1.66371L2.31752 0.30586C2.34697 0.225921 2.39765 0.155519 2.46411 0.102219C2.53057 0.0489203 2.61029 0.0147397 2.69472 0.00335117C2.79608 -0.008971 2.89866 0.012898 2.98618 0.0654902C3.0737 0.118083 3.14116 0.198388 3.17786 0.293672L3.70475 1.66371C3.71623 1.69365 3.73387 1.72083 3.75654 1.7435C3.7792 1.76616 3.80639 1.78381 3.83632 1.79528L5.20637 2.32217C5.29281 2.35546 5.36715 2.41416 5.41958 2.49053C5.47201 2.5669 5.50007 2.65736 5.50007 2.74999C5.50007 2.84263 5.47201 2.93309 5.41958 3.00946C5.36715 3.08583 5.29281 3.14453 5.20637 3.17782L3.83632 3.70471C3.80636 3.71613 3.77915 3.73375 3.75647 3.75643C3.7338 3.7791 3.71617 3.80631 3.70475 3.83628L3.17786 5.20632C3.14458 5.29277 3.08589 5.36712 3.00952 5.41956C2.93314 5.472 2.84268 5.50007 2.75003 5.50007Z' fill='black'/><path d='M12.4997 7.9999C12.3987 7.99987 12.3 7.96922 12.2167 7.91198C12.1334 7.85474 12.0694 7.7736 12.0331 7.67927L11.3194 5.8239C11.3068 5.79121 11.2875 5.76152 11.2628 5.73675C11.238 5.71199 11.2083 5.6927 11.1756 5.68015L9.32023 4.96638C9.22597 4.93006 9.14492 4.86604 9.08776 4.78275C9.0306 4.69946 9 4.60082 9 4.4998C9 4.39878 9.0306 4.30014 9.08776 4.21685C9.14492 4.13356 9.22597 4.06955 9.32023 4.03322L11.1756 3.31945C11.2083 3.3069 11.238 3.28761 11.2628 3.26285C11.2875 3.23808 11.3068 3.20839 11.3194 3.1757L12.0278 1.33346C12.0602 1.24634 12.1155 1.16962 12.188 1.11145C12.2605 1.05329 12.3474 1.01586 12.4394 1.00314C12.55 0.989747 12.6619 1.01368 12.7574 1.07115C12.8528 1.12862 12.9264 1.21632 12.9663 1.32033L13.6801 3.1757C13.6926 3.20839 13.7119 3.23808 13.7367 3.26285C13.7614 3.28761 13.7911 3.3069 13.8238 3.31945L15.6792 4.03322C15.7735 4.06955 15.8545 4.13356 15.9117 4.21685C15.9688 4.30014 15.9994 4.39878 15.9994 4.4998C15.9994 4.60082 15.9688 4.69946 15.9117 4.78275C15.8545 4.86604 15.7735 4.93006 15.6792 4.96638L13.8238 5.68015C13.7911 5.6927 13.7614 5.71199 13.7367 5.73675C13.7119 5.76152 13.6926 5.79121 13.6801 5.8239L12.9663 7.67927C12.93 7.7736 12.866 7.85474 12.7828 7.91198C12.6995 7.96922 12.6008 7.99987 12.4997 7.9999Z' fill='black'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
}

.btn-with-svg:hover::before {
  filter: invert(1);
  margin-top: 0px;
}

/* Icona SVG */
/* icona Nascosta */
.btn-with-svg.info_button::before {
    content: "";
    width: 0px;
    height: 20px;
    display: inline-block;
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M3 9H21M7 3V5M17 3V5M6 13H8M6 17H8M11 13H13M11 17H13M16 13H18M16 17H18M6.2 21H17.8C18.9201 21 19.4802 21 19.908 20.782C20.2843 20.5903 20.5903 20.2843 20.782 19.908C21 19.4802 21 18.9201 21 17.8V8.2C21 7.07989 21 6.51984 20.782 6.09202C20.5903 5.71569 20.2843 5.40973 19.908 5.21799C19.4802 5 18.9201 5 17.8 5H6.2C5.0799 5 4.51984 5 4.09202 5.21799C3.71569 5.40973 3.40973 5.71569 3.21799 6.09202C3 6.51984 3 7.07989 3 8.2V17.8C3 18.9201 3 19.4802 3.21799 19.908C3.40973 20.2843 3.71569 20.5903 4.09202 20.782C4.51984 21 5.07989 21 6.2 21Z' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0;                /* nascosta */
    transform: translateX(-6px); /* spostata a sinistra */
    transition: all .35s cubic-bezier(.215,.61,.355,1);
    filter: invert(0);
}

/* icona che appare al hover */
.btn-with-svg.info_button:hover::before {
    opacity: 1;width: 20px;
    transform: translateX(0);
}

.no-decoration{list-style-type:none;}

/* Freccia nascosta di default */
.button::after {
    content: "";
    width: 10px;
    height:10px;
    background-image: url("data:image/svg+xml;utf8,<svg width='5' height='9' viewBox='0 0 5 9' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0.499999 8.5L4.5 4.5L0.5 0.5' stroke='black' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-size: contain;
    opacity: 0;
    transform: translateX(-5px);
    transition: all 0.3s cubic-bezier(.215,.61,.355,1);
}

/* Appare all'hover */
.button:hover::after {
    opacity: 1;
    transform: translateX(0);
}










































/* Utility - State */
.active { background: var(--site-text-color); color: var(--site-bg) ; }


input,textarea{border-radius: 10px !important;}
input[type=submit]{width: 100%;color: var(--contrast);}