@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* Reset */
body, html{scroll-behavior: smooth; font-family: "Barlow", serif;
 line-height: 1; font-size: 16px; color: #000; box-sizing: border-box;margin: 0;padding: 0;}*,*:before,*:after{ box-sizing: border-box; }h1,h2,h3,h4,h5,h6, p, ol, ul{margin: 0 0 1rem 0;padding: 0;}ol,ul{padding-left: 0;line-height: 1.5;}img{height: auto;}h1{font-size: 4rem;} h2{font-size: 3rem;} h3{font-size: 2rem;} h4{font-size: 1rem;} h5{font-size: 0.8rem;} h6{font-size: 0.6rem;}a{text-decoration:none}


/* ! Grid System */
.grid { margin: 0 auto; padding: 0 15px; display: flex; flex-flow: row; flex-wrap: wrap; z-index: 2;}
.grid-swiper { margin: 0 auto; padding: 0 15px; width: 100%; display: flex; flex-flow: row; flex-wrap: wrap;}
.grid--center{justify-content: center;}
.col{ flex: 1;}

.wrapper{width: 100%;padding: 0 3%;overflow: hidden; position: relative;}

/* Stile di base: wrapper nascosto e spostato in basso */
.wrapper {
  opacity: 0;                   /* completamente trasparente */
  transform: translateY(20px);  /* spostato di 20px in basso */
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* Stile quando viene aggiunta la classe .load */
.wrapper.load {
  opacity: 1;                   /* completamente visibile */
  transform: translateY(0);     /* posizione iniziale */
}


[class*='col-'] { position: relative;padding: 0 15px;}

.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-100{ width: 100%; }

@media (max-width: 991px) {
  .tab-20 { width: 20%; }
  .tab-25 { width: 25%; }
  .tab-33 { width: 33.33%; }
  .tab-50 { width: 50%; }
  .tab-100 { width: 100%; }
}

@media (max-width: 768px) {
  [class*='col-'] { width: 100%;}
  .sma-20 { width: 20%; }
  .sma-25 { width: 25%; }
  .sma-33 { width: 33.33%; }
  .sma-50 { width: 50%; }
  .sma-100 { width: 100%; }
}

.alignwide {
  max-width: 1200px;
  width: 100%;
  margin: auto;
}

.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  position: relative;
}

.breadcrumb {
	position: fixed;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
	max-width: 1366px;
    width: 100%;
    margin: 0 auto;
    padding-top: 15px;
    background-color: transparent;
	color: white;
    z-index: 999;
    transition: background-color 0.3s ease;
	border-bottom: 1px solid #ffffff4a;
}

/* ! Helpers  */
.mt-0{margin-top: 0 }
.mt-1{margin-top: 10px}
.mt-2{margin-top: 20px}
.mt-3{margin-top: 40px}
.mt-4{margin-top: 100px }
.mt-5{margin-top: 200px }

.mb-0{margin-bottom: 0}
.mb-1{margin-bottom: 10px}
.mb-2{margin-bottom: 20px}
.mb-3{margin-bottom: 40px}
.mb-4{margin-bottom: 100px}

.p-0{padding: 0}
.p-1{padding: 10px}
.p-2{padding: 20px}
.p-3{padding: 40px}
.p-4{padding: 100px}

.pt-1{padding-top: 10px;}
.pt-3{padding-top: 20px;}
.pt-3{padding-top: 40px;}
.pt-4{padding-top: 15vh;}

.pb-1{padding-bottom: 10px;}
.pb-2{padding-bottom: 20px;}
.pb-3{padding-bottom: 40px;}
.pb-4{padding-bottom: 15vh;}

.container {max-width: 1400px; margin: auto;}

.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }
.img-res { width: 100%; height: auto; margin-bottom: 20px;vertical-align: middle;}
.img-round { border-radius:50%; }

h1 {
    color: #fff;
    font-size: 60px;
    font-weight: 500;
    letter-spacing: -0.025em;
    transition: 0.5s;
	padding-bottom: 25px;
    border-top: 2px solid #00b8cf;
  }

h2 {
    font-size: 30px;
}

h3 {
    font-size: 20px;
}

p {
    font-size: 16px;
	color: #848892;
    line-height: 26px;
    color: #848892;
    font-weight: 300;
	-webkit-font-smoothing: antialiased;
}

a, p a {
    color: #999;
}

/* ! Navigation menu */

/*=============== HEADER ===============*/

.header {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    margin: 0 auto;
    padding-top: 15px;
    background-color: transparent;
    z-index: 999;
    transition: background-color 0.3s ease;
	border-bottom: 1px solid #ffffff4a;
}

  .header a {
    color: white;
    transition: color 0.3s ease;
  }

  /* Stili da applicare quando la pagina viene scrollata */
  .header.scrolled {
    background-color: #fff; /* Sfondo bianco */
  }

  .header.scrolled a {
    color: black; /* Link neri */
  }

/*=============== NAV ===============*/
.nav {
  height: 200px;
}

.nav__logo, 
.nav__burger, 
.nav__close {
  color: black;
}

.nav__data {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nav__logo {
  display: inline-flex;
  align-items: center;
  column-gap: .25rem;
  font-weight: 400;
  color: white;
  font-size: 1.5rem;
  /* Color highlighting when pressed on mobile devices */
  /*-webkit-tap-highlight-color: transparent;*/
}

.nav__logo i {
  font-weight: initial;
}

.nav__toggle {
  position: relative;
  width: 32px;
  height: 32px;
}

.nav__burger, 
.nav__close {
  position: absolute;
  width: max-content;
  height: max-content;
  inset: 0;
  margin: auto;
  font-size: 1.25rem;
  cursor: pointer;
  transition: opacity .1s, transform .4s;
}

.nav__close {
  opacity: 0;
}

/* Navigation for mobile devices */
@media screen and (max-width: 1118px) {
  .nav__menu {
    position: absolute;
    left: 0;
    top: 2.5rem;
    width: 100%;
    height: calc(100vh - 3.5rem);
    overflow: auto;
    pointer-events: none;
    opacity: 0;
    transition: top .4s, opacity .3s;
  }
  .nav__menu::-webkit-scrollbar {
    width: 0;
  }
  .nav__list {
    background-color: white;
    padding-top: 1rem;
  }
}

.nav__link {
  color: white;
  font-size: 1.5rem;
  font-weight: 400;
  padding: 1.25rem 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background-color .3s;
}

.nav__link:hover {
  background-color: white;
  border-top: 1px solid black;
}

/* Show menu */
.show-menu {
  opacity: 1;
  top: 0;
  pointer-events: initial;
}

/* Show burgher icon */
 /* Menu Button 5 */
        .menu-btn-5 {
            height: 32px;
            width: 40px;
            cursor: pointer;
			z-index: 999;
        }
        
        .menu-btn-5 span:nth-child(1),
        .menu-btn-5 span:nth-child(1)::before,
        .menu-btn-5 span:nth-child(1)::after {
            background: #ccc;
            content: '';
            position: absolute;
            width: 40px;
            height: 2px;         
            margin-top: 13px; 

            -webkit-transition: .3s ease-in-out;
            -moz-transition: .3s ease-in-out;
            -o-transition: .3s ease-in-out;
            transition: .3s ease-in-out;
        }

        .menu-btn-5 span:nth-child(1)::before {
            margin-top:-12px;
            
            -webkit-transition: .3s ease-in-out .3s;
            -moz-transition: .3s ease-in-out .3s;
            -o-transition: .3s ease-in-out .3s;
            transition: .3s ease-in-out .3s;
        }

        .menu-btn-5 span:nth-child(1)::after {
            margin-top:12px;
            
            -webkit-transition: .3s ease-in-out .3s;
            -moz-transition: .3s ease-in-out .3s;
            -o-transition: .3s ease-in-out .3s;
            transition: .3s ease-in-out .3s;
        }

        .menu-btn-5 span:nth-child(2) {
            background: #ccc;
            content: '';
            position: absolute;
            width: 0px;
            height: 2px;         
            margin-top: 13px;
            
            -webkit-transform: rotate(-45deg);
            -moz-transform: rotate(-45deg);
            -o-transform: rotate(-45deg);
            transform: rotate(-45deg);

            -webkit-transition: .3s ease-in-out;
            -moz-transition: .3s ease-in-out;
            -o-transition: .3s ease-in-out;
            transition: .3s ease-in-out;
        }

        .menu-btn-5.active span:nth-child(1)::before,
        .menu-btn-5.active span:nth-child(1)::after {
            margin-top:0;
        }

        .menu-btn-5.active span:nth-child(1) {
            -webkit-transition: .5s ease-in-out .6s;
            -moz-transition: .5s ease-in-out .6s;
            -o-transition: .5s ease-in-out .6s;
            transition: .5s ease-in-out .5s;

            -webkit-transform:rotate(45deg);
            -moz-transform:rotate(45deg);
            -o-transform:rotate(45deg);
            transform:rotate(45deg);
        }

        .menu-btn-5.active span:nth-child(2) {
            width: 40px;
            
            -webkit-transition: .3s ease-in-out .8s;
            -moz-transition: .3s ease-in-out .8s;
            -o-transition: .3s ease-in-out .8s;
            transition: .3s ease-in-out .8s;
        }


/* Pseudoelemento per la “linea” animata */
.header__menu li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 2px; /* spessore della linea */
  background-color: white;
  transition: width 0.3s ease; /* durata e tipo di transizione */
}

/* Effetto in hover: la larghezza passa al 100% */
.header__menu li a:hover::after {
  width: 100%;
}


@media (max-width: 768px) {
  .header__menu{   
    position: absolute; top:85px; right:0; background-color: white; width: 100%; height: 100vh;  
    overflow: hidden;transition: all 0.5s cubic-bezier(.215, .61, .355, 1); transform: translateX(101%);
  }

  .header__menu li{width: 100%;}
  .menu-open .header__menu{transform: translateX(0%);}

  .icon-hamburger{height: 50px;width: 40px;margin-left: 20px;padding-top: 5px;}
  .icon-hamburger span{height: 2px; width: 30px;background: var(--menu-color);position: relative;display: block;margin-top: 11px;transition: all 0.2s cubic-bezier(.215, .61, .355, 1);}
  
  .menu-open .icon-hamburger span:nth-child(1){transform: rotate(45deg) translateY(9px);}
  .menu-open .icon-hamburger span:nth-child(2){transform: rotate(-45deg) translateY(-9px);}

  .header__quick{display: flex; justify-content: flex-end; width: 50%;}

}

/*=============== DROPDOWN ===============*/
.dropdown__item {
  cursor: pointer;
}

.dropdown__arrow {
  font-size: 1.25rem;
  font-weight: initial;
  transition: transform .4s;
}

.dropdown__link, 
.dropdown__sublink {
  padding: 1.25rem 1.25rem 1.25rem 2.5rem;
  color: black;
  background-color: white;
  display: flex;
  align-items: center;
  column-gap: .5rem;
  font-weight: 400;
  transition: background-color .3s;
}

.dropdown__link i, 
.dropdown__sublink i {
  font-size: 1.25rem;
  font-weight: initial;
}

.dropdown__link:hover, 
.dropdown__sublink:hover {
  background-color: #f2f2f2;
}

.dropdown__menu a {color: black;}

.dropdown__menu, 
.dropdown__submenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease-out;
}

/* Show dropdown menu & submenu */
.dropdown__item:hover .dropdown__menu, 
.dropdown__subitem:hover > .dropdown__submenu {
  max-height: 1000px;
  transition: max-height .4s ease-in;
}

/* Rotate dropdown icon */
.dropdown__item:hover .dropdown__arrow {
  transform: rotate(180deg);
}

/*=============== DROPDOWN SUBMENU ===============*/
.dropdown__add {
  margin-left: auto;
}

.dropdown__sublink {
  background-color: black;
}

/*=============== BREAKPOINTS ===============*/
/* For small devices */
@media screen and (max-width: 340px) {
  .container {
    margin-inline: 1rem;
  }

  .nav__link {
    padding-inline: 1rem;
  }
}

/* For large devices */
@media screen and (min-width: 1118px) {
  .container {
    margin-inline: auto;
  }

  .nav {
    height: 50px;
    display: flex;
    justify-content: space-between;
	align-items: center;
  }
  .nav__toggle {
    display: none;
  }
  .nav__list {
    height: 100%;
    display: flex;
    column-gap: 3rem;
	list-style-type: none;
  }
  .nav__link {
    height: 100%;
    padding: 0;
    justify-content: initial;
    column-gap: .25rem;
  }
  .nav__link:hover {
    background-color: transparent;
  }
	
	.lang-item {
    padding: 5px 10px;
    border-left: 1px solid white;
	}

  .dropdown__item, 
  .dropdown__subitem {
    position: relative;
  }

  .dropdown__menu,
.dropdown__submenu {
    max-height: initial;
    overflow: initial;
    position: absolute;
    left: 0;
    top: 40px;
    opacity: 0;
    pointer-events: none;
    list-style-type: none;
    transition: opacity .3s, top .3s;
    -webkit-box-shadow: 5px 5px 21px -17px rgba(102, 104, 125, 1);
    -moz-box-shadow: 5px 5px 21px -17px rgba(102, 104, 125, 1);
    box-shadow: 5px 5px 21px -17px rgba(102, 104, 125, 1);
    
    /* Proprietà aggiunta per non andare a capo */
    white-space: nowrap;
}


  .dropdown__link, 
  .dropdown__sublink {
    padding-inline: 1rem 3.5rem;
  }

  .dropdown__subitem .dropdown__link {
    padding-inline: 1rem;
  }

  .dropdown__submenu {
    position: absolute;
    left: 100%;
    top: .5rem;
	padding-left: 5px;
  }

  /* Show dropdown menu */
  .dropdown__item:hover .dropdown__menu {
    opacity: 1;
    top: 55pxrem;
    pointer-events: initial;
    transition: top .3s;
  }

  /* Show dropdown submenu */
  .dropdown__subitem:hover > .dropdown__submenu {
    opacity: 1;
    top: 0;
    pointer-events: initial;
    transition: top .3s;
  }
}

/* HERO SLIDER */

.slider {
  position: relative;
  width: 100%; /* Dimensione regolabile */
  height: 100vh; /* Altezza regolabile */
  margin: auto;
  overflow: hidden;
  cursor: pointer;
}

.slider-hero-container {
    position: absolute;
    max-width: 1400px;
	width: 100%;
    bottom: 5%;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    z-index: 999;
}


.slider-hero-container h1 {
	font-size: 15rem;
	font-weight: 500;
    letter-spacing: -0.035em;
    transition: 0.5s;
    line-height: 12rem;
	border: none;
}

.slider-hero-container h2 {
	font-size: 3rem;
	font-weight: 200;
}


.slider img {
  width: 100%;
  height: 100vh;
  object-fit: cover; /* Adatta l'immagine al contenitore, ritagliandola se necessario */
  position: absolute;
  transition: opacity 1s ease-in-out;
}
.slider img.hidden {
  opacity: 0;
}
.slider img.visible {
  opacity: 1;
}
.counter {
  position: absolute;
  bottom: 10px;
  right: 10px;
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 6rem;
  font-weight: 200;
  z-index: 9;
}
.nav-text {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8);
  pointer-events: none;
}
.nav-text.prev {
  left: 20px;
}
.nav-text.next {
  right: 20px;
}

.slider-materiali {
  position: relative;
  width: 80%;
  max-width: 800px;
  margin: auto;
  overflow: hidden;
  border-radius: 10px;
}
.slider-wrapper {
  display: flex;
  transition: transform 0.5s ease-in-out;
}
.slider-materiali img {
  width: 100%;
  border-radius: 10px;
}
.nav-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
}
.nav-button.prev {
  left: 10px;
}
.nav-button.next {
  right: 10px;
}

/* ! Eventi speciali  */

.news-item {margin-right: 15px; padding-bottom: 25px;}

.news-slider h2 {
	font-size: 3.5rem;
	font-weight: 200;
}

.news-meta {
	font-size: 1.5rem;
	font-weight: 200;
	margin: 0;
}

.news-content {
	font-size: 1rem;
	font-weight: 300;
	padding-top: 30px;
}


/* ! Spettacoli  */

.filtri-spettacoli {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 30px;
}

.filtri-spettacoli div {
    display: flex;
    flex-direction: column;
    width: 200px; /* Puoi regolare la larghezza per adattarla meglio al layout */
}

.filtri-spettacoli label {
    font-weight: bold;
    margin-bottom: 5px;
}

.filtri-spettacoli select,
.filtri-spettacoli input {
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
}

/* Aggiungiamo questa regola per affiancare i pulsanti */
.filtri-spettacoli .button-group {
    display: flex;
	flex-direction: row;
    gap: 10px; /* Spazio tra i pulsanti */
    margin-top: 20px;
}

.filtri-spettacoli button {
    padding: 10px 20px;
    background-color: #0073aa;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    margin-right: 10px;
}

.filtri-spettacoli button[type="reset"] {
    background-color: #ff6347; /* Colore diverso per il reset */
}

.filtri-spettacoli button:hover {
    background-color: #005177;
}

.filtri-spettacoli button[type="reset"]:hover {
    background-color: #e5533d;
}

.filtro-attivo {
    background-color: #e0f7fa;
    border: 2px solid #0073aa;
}

.spettacoli-container {
    margin: 0 auto;
    max-width: 1200px;
    padding: 20px;
}

.spettacoli-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Due colonne */
    gap: 20px; /* Spaziatura tra le colonne */
}

.spettacolo-item {
    background-color: #fff;
    padding: 20px;
    border-top: 3px solid #ff6347;
}

.spettacolo-section-title {
	color: #ff6347;
    font-family: "Cabin Sketch", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 50px;
    padding: 50px 0;
    text-align: center;
	border-top: 3px solid #ff6347;
}

.spettacolo-item h2 {
    color: #ff6347;
    font-family: "Cabin Sketch", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 40px;
}

.spettacolo-featured-image {
	position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}

.spettacolo-featured-image img {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}

.spettacolo-date {
	position: absolute;
    bottom: 0;
    right: 20px;
    width: 140px;
    height: 67px;
    padding: 5px;
    text-align: center;
    color: white;
    background: #f66347;
    font-family: "Cabin Sketch", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 25px;
}

.spettacolo-content {
    display: flex;
    justify-content: space-between;
}

.spettacolo-left-column {
    flex: 1;
    padding-right: 20px;
}

.list-compagnia {
	border-top: none!important;
    font-size: 30px;
    padding-bottom: 25px;
	font-family: "Cabin Sketch", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.spettacolo-right-column {
    flex: 1;
    padding-left: 20px;
}

.spettacolo-excerpt {
    font-size: 16px;
    color: #555;
}

.spettacolo-left-column p {
    margin: 0 0 10px;
	border-top: 1px solid lightgray;
}

.spettacolo-item a {
    display: inline-block;
    margin-top: 15px;
    color: white;
    text-decoration: none;
    background: #f66347;
    padding: 8px 10px;
    border-radius: 5px;
}

.spettacolo-item i {
    color: #f66347;
}


/* ! Eventi speciali  */

.eventi-item {
    background-color: #fff;
    padding: 20px;
    border-top: 3px solid #e7a87c;
}

.eventi-section-title {
	color: #e7a87c;
    font-family: "Cabin Sketch", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 50px;
    padding: 50px 0;
    text-align: center;
	border-top: 3px solid #e7a87c;

}

.evento-title {
    color: #e7a87c!important;
	font-family: "Cabin Sketch", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 40px;
}

.evento-date {
	position: absolute;
    bottom: 0;
    right: 20px;
    width: 140px;
    height: 67px;
    padding: 5px;
    text-align: center;
    color: white;
    background: #e7a87c;
    font-family: "Cabin Sketch", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 25px;
}

.eventi-item a {
    display: inline-block;
    margin-top: 15px;
    color: white;
    text-decoration: none;
    background: #e7a87c;
    padding: 8px 10px;
    border-radius: 5px;
}

.eventi-item i {
    color: #e7a87c;
}

/* ! Professionals  */

.professionals-item {
    background-color: #fff;
    padding: 20px;
    border-top: 3px solid #86c85f;
}

.professionals-section-title {
	color: #86c85f;
    font-family: "Cabin Sketch", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 50px;
    padding: 50px 0;
    text-align: center;
	border-top: 3px solid #86c85f;
}

.professionals-title {
    color: #86c85f!important;
	font-family: "Cabin Sketch", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 40px;
}

.professionals-date {
	position: absolute;
    bottom: 0;
    right: 20px;
    width: 140px;
    height: auto;
    padding: 5px;
    text-align: center;
    color: white;
    background: #86c85f;
    font-family: "Cabin Sketch", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 25px;
}

.professionals-item a {
    display: inline-block;
    margin-top: 15px;
    color: white;
    text-decoration: none;
    background: #86c85f;
    padding: 8px 10px;
    border-radius: 5px;
}

.professionals-item i {
    color: #86c85f;
}

/* ! Sezione Artisti  */


.artists-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.artist-card {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 15px;
    text-align: center;
    transition: transform 0.3s ease;
}

.artist-card:hover {
    transform: translateY(-10px);
}

.artist-image {
    width: 100%; /* L'immagine occuperà tutta la larghezza del contenitore */
    height: 400px; /* Imposta un'altezza fissa per tutte le immagini */
    overflow: hidden; /* Nascondi le parti che eccedono il contenitore */
    border-radius: 10px;
}

.artist-image img {
    width: 100%;  /* Imposta la larghezza al 100% per adattare l'immagine alla larghezza del contenitore */
    height: 100%; /* L'immagine occuperà anche tutta l'altezza del contenitore */
    object-fit: cover; /* Taglia le parti eccedenti mantenendo le proporzioni */
    object-position: center; /* Centra l'immagine */
}/* Wrapper per immagine e overlay */
.artist-image-wrapper {
    position: relative;
    display: block;
    width: 100%;
    height: 400px; /* Altezza fissa come deciso prima */
    overflow: hidden;
    border-radius: 10px;
    text-decoration: none; /* Rimuove l'underline dal link */
}

/* Immagine dell'artista */
.artist-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease; /* Animazione leggera */
}

/* Overlay nascosto inizialmente */
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 123, 255, 0.8); /* Colore azzurro con opacità */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    color: white;
    font-size: 1.2rem;
    text-transform: uppercase;
}

/* Testo dell'overlay con freccia */
.overlay-text {
    display: flex;
    align-items: center;
	justify-content: center;
	width: 80%;
	font-size: 16px;
}

.overlay-text i {
    margin-left: 10px;
}

/* Effetto hover: ingrandisce leggermente l'immagine e mostra l'overlay */
.artist-image-wrapper:hover .artist-image img {
    transform: scale(1.1);
}

.artist-image-wrapper:hover .overlay {
    opacity: 1;
}


.artist-title {
    font-size: 1.5rem;
    margin: 10px 0;
}

.artist-city {
    font-size: 1rem;
    color: #666;
}

.artist-description {
    font-size: 1rem;
    color: #333;
    margin: 10px 0;
}

.artist-socials {
    margin-top: 15px;
}

.artist-socials a {
    color: #333;
    font-size: 1.5rem;
    margin: 0 10px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.artist-socials a:hover {
    color: #007BFF; /* Colore in hover */
}

@media (max-width: 768px) {
    .artists-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}

@media (max-width: 480px) {
    .artist-card {
        padding: 10px;
    }
    
    .artist-title {
        font-size: 1.2rem;
    }
    
    .artist-socials a {
        font-size: 1.2rem;
    }
}

.header-pagina {
    position: relative;
    width: 100%;
    height: 50vh;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.titolo-pagina {
    position: relative;
    font-size: 3em;
    z-index: 1;
    text-align: center;
}

  /* ! Footer  */

  footer {
    background: #fff;
      color: black;
      padding-top: 25px;
      border: 15px solid white;
  }

#menu-footer {list-style-type: none;}
  
  .footer__menu{padding: 0;margin: 0; display: block; align-items: center;}
  .footer__menu li{display: block;}
  .footer__menu li a{color: black; opacity: 0.8;display: block;padding: 5px;font-size: 11px; font-weight: 400; text-transform: uppercase;
  }
  
  .footer-title {
    font-size: 16px;
    padding-bottom: 20px;
    border-bottom: 1px solid white;
  }
  
  .footer-p {
    font-size: 11px;
  }
  
  .social-links a {
    color: white;
    padding-right: 20px;
  }
  
  .copy {
    margin-top: 25px;
    padding-top: 25px;
      padding-bottom: 25px;
      border-top: 1px solid white;
    font-size: 11px;
  }
  
  .copy a {
    color: white;
  }

.whatsapp-button {
  display: flex;
  position: fixed;
  right: 30px;
  bottom: 20px;
  align-items: center;
  padding: 10px;
  background-color: black;; /* Colore di WhatsApp */
  color: #fff; /* Colore del testo */
  border: none;
  border-radius: 25px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  text-decoration: none;
  z-index: 999;
}

.whatsapp-button:hover {
  background-color: #128C7E; /* Cambia colore al passaggio del mouse */
}

.whatsapp-icon {
  width: 24px;
  height: 24px;
}


/* Desktop */
@media only screen and (min-width: 1366px) {
  /* Inserisci qui le tue regole CSS per desktop */
	
		.nav {
    height: 50px;
}
	
	.menu-btn-5 {display: none;}
}

/* Tablet in modalità landscape */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: landscape) {
  /* Inserisci qui le tue regole CSS per tablet in modalità landscape */
	
	.nav {
    height: 50px;
}
	
		.nav__data {padding: 0 10px;}
	
}

/* Tablet in modalità portrait */
@media only screen and (min-width: 768px) and (max-width: 991px) and (orientation: portrait) {
  /* Inserisci qui le tue regole CSS per tablet in modalità portrait */
	
	.nav {
    height: 50px;
}
	
		.nav__data {padding: 0 10px;}
	
	.header a {
    color: black;
    transition: color 0.3s ease;
}
	
	.spettacolo-content {
    display: block;
}
	
.spettacolo-right-column {
    padding-left: 0;
	padding-top: 20px;
}
	
.list-compagnia {
    font-size: 22px;
	line-height: 25px;
}
	
.spettacolo-item h2, .evento-title, .professionals-title {
    font-size: 30px;
}
	
}

/* Smartphone in modalità landscape */
@media only screen and (max-width: 1180px) and (orientation: landscape) {
  /* Inserisci qui le tue regole CSS per smartphone in modalità landscape */
	
	.nav {
    height: 50px;
}
	
		.nav__data {padding: 0 10px;}
	
	.header a {
    color: black;
    transition: color 0.3s ease;
}
	
	.NavMenu li a {
    display: block;
    padding: 17px 16px;
    font-size: 14px;
    text-decoration: none;
    text-transform: uppercase;
    color: #fff;
    position: relative;
}
	
}

/* Smartphone in modalità portrait */
@media only screen and (max-width: 767px) and (orientation: portrait) {
  /* Inserisci qui le tue regole CSS per smartphone in modalità portrait */
	
	.nav {
    height: 50px;
}
	
		.nav__data {padding: 0 10px;}
	
	.header a {
    color: black;
    transition: color 0.3s ease;
}
	
	.counter {font-size: 3rem;}
	
.slider-hero-container {
    bottom: 15%;
}
	
.slider-hero-container h1 {
    font-size: 5rem;
    line-height: 4rem;
}
	
.slider-hero-container h2 {
    font-size: 2rem;
}
	
p {
    font-size: 14px;
	line-height: 20px;
}
	
.filtri-spettacoli div {
    display: flex;
    flex-direction: column;
    width: 100%;
}
	
.spettacoli-grid {
    display: block;
}
	
.spettacolo-content {
    display: block;
}
	
.spettacolo-right-column {
    padding-left: 0;
	padding-top: 20px;
}
	
.list-compagnia {
    font-size: 22px;
	line-height: 25px;
}
	
.spettacolo-item h2, .evento-title, .professionals-title {
    font-size: 30px;
}
	
}
