.Container{
    transition: all 0.5s;
    margin-top: 9rem;  
  }

a{
  text-decoration: none!important;
}

/*  Mobile  */
  @media screen and (max-width: 440px) {

    .Container{
        margin-top: 5.5rem!important;  
    }

    .EmptyBox {
      display: none;
    }
    .NoEvents {
      font-size: 1.1rem;
    }
    .ReplCalendar  tbody::-webkit-scrollbar {
        background-color:transparent;
        height: 0rem;
    }
    .ReplCalendar  tbody::-webkit-scrollbar-thumb {
        background: transparent;
        height: 0rem;
    }
    .ReplCalendar  tbody::-webkit-scrollbar-track {
        background-color: transparent;
        height: 0rem;
    }
    .Calendar {
      display: none;
    }
    /* Header mese mobile: fisso sopra la striscia, non scorre */
    #HeaderCalendario {
      width: 100%;
      display: flex;
      justify-content: center;
      margin-bottom: 0.5rem;
    }
    .MobileMonthHeader {
      width: 90%;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 3rem;
      font-size: 1.3rem;
      font-weight: 700;
      text-transform: uppercase;
      color: var(--Palette3);
    }
    .MobileMonthHeader .ChangeMonth {
      cursor: pointer;
      padding: 0 1rem;
    }

    .Container  .ReplCalendar{
        width: 100%;
        display: flex;
        justify-content: center;
        margin: 0 auto;
        overflow: hidden;
        overflow-x: auto;
        margin-top: 1rem;
        margin-bottom: 2rem;
    }
    .Container  .ReplCalendar  tbody {
      display: flex;
      width: 24.8rem;
      overflow: hidden;
      overflow-x: auto;
      height: 4rem;
      position: relative;
      padding-top: 1rem;
    }
    /* Header mese: nascosto dal tbody — viene spostato in #HeaderCalendario via JS */
    .Container  .ReplCalendar  tbody  tr:first-child {
      color: var(--Palette3);
      display: flex;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      justify-content: center;
      background: transparent;
      height: 3rem;
      align-items: center;
    }
    .Container  .ReplCalendar  tbody  tr:first-child  th {
      color: var(--Palette3);
      text-transform: uppercase;
      font-size: 1.3rem;
      font-weight: 700;
      width: 100%;
      text-align: center;
    }
    .Container  .ReplCalendar  tbody  tr  th  .ChangeMonth.Left{
      position: relative;
      right: 1rem;
      cursor: pointer;
    }
    .Container  .ReplCalendar  tbody  tr  th  .ChangeMonth.Right{
      position: relative;
      left: 1rem;
      cursor: pointer;
    }
    .Container  .ReplCalendar  tbody  tr {
      display: flex;
      flex-wrap: nowrap;
    }
    .Container  .ReplCalendar  tbody  tr  .Empty {
      display: none;
    }
    .Container  .ReplCalendar  tbody  tr  .Weekday {
      display: none;
    }

    /* Cella base mobile */
    .Container  .ReplCalendar  tbody  tr  td {
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
      text-align: center;
      vertical-align: top;
      width: 4.2125rem;
      border-radius: 0.1875rem;
      background: #f5f5f5;
      border: 0.05rem solid #e0e0e0;
      margin: 0rem 0.1rem;
      align-items: center;
      justify-content: center;
    }
    .Container  .ReplCalendar  tbody  tr  td  span {
      font-size: 1.4rem;
    }

    /* Numero giorno base: grigio (senza eventi) */
    .Container  .ReplCalendar  tbody  tr  td  .DayNumber {
      color: #cccccc;
      width: 100%;
      font-size: 1.3rem;
      font-weight: 300;
    }

    /* Giorno CON eventi: bordeaux grassetto */
    .Container  .ReplCalendar  tbody  tr  td.has-events {
      background: #ffffff;
      border-color: #e0e0e0;
    }
    .Container  .ReplCalendar  tbody  tr  td.has-events  .DayNumber {
      color: var(--Palette1);
      font-weight: 700;
    }

    /* Giorno SENZA eventi: grigio sbiadito */
    .Container  .ReplCalendar  tbody  tr  td.no-events {
      background: #f5f5f5;
      border-color: #eeeeee;
    }
    .Container  .ReplCalendar  tbody  tr  td.no-events  .DayNumber {
      color: #cccccc;
      font-weight: 300;
    }

    /* Giorno SELEZIONATO */
    .Container  .ReplCalendar  tbody  tr  td.selected {
      background: var(--Palette1);
      border-color: var(--Palette1);
    }
    .Container  .ReplCalendar  tbody  tr  td.selected  .DayNumber {
      color: #ffffff;
      font-weight: 700;
    }

    /* Giorno SELEZIONATO CON eventi */
    .Container  .ReplCalendar  tbody  tr  td.selected.has-events {
      background: var(--Palette1);
      border-color: var(--Palette1);
    }
    .Container  .ReplCalendar  tbody  tr  td.selected.has-events  .DayNumber {
      color: #ffffff !important;
      font-weight: 700;
    }

    .Container  .ReplCalendar  tbody  tr  td  ul{
      display: none;
    }
    .Container  #MobileCalendarMessage {
      width: 100%;
      display: flex;
      justify-content: center;
      margin-bottom: 3rem;
      position: relative;
      bottom: 1rem;
    }
    .Container  #MobileCalendarMessage  p {
      text-transform: uppercase;
      text-align: center;
      width: 80%;
      font-size: 1.7rem;
    }
    .Container  #NoShowsMessage {
      width: 100%;
      display: flex;
      justify-content: center;
      margin-bottom: 3rem;
    }
    .Container  #NoShowsMessage  p {
      text-transform: uppercase;
      text-align: center;
      width: 80%;
      font-size: 1.7rem;
      color: var(--Palette2);
    }
    .Container  #spettacoliGiorno {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-bottom: 1rem;
      margin: 0;
      padding: 0;
      list-style-type: none;
      list-style: none;
    }
    .Container  #spettacoliGiorno  li {
      width: 85%;
      height: auto;
      margin: 0rem;
      margin-bottom: 1rem;
      display: flex;
      justify-content: center;
      padding: 0.1rem;
      border-radius: 0rem 0rem 0rem 1.0625rem;
      background: var(--Palette1);
      list-style-type: none;
      list-style: none;
    }
    .Container  #spettacoliGiorno  li  a {
      text-decoration: none;
      display: flex;
      width: 100%;
      min-height: 7rem;
      height: 7.1rem;
      position: relative;
      box-sizing: border-box;
      border-radius: 0rem 0rem 0rem 1.0625rem;
      text-transform: uppercase;
      font-size: 1.5rem;
      color: var(--Palette3);
      align-items: stretch;
      justify-content: flex-start;
      flex-wrap: nowrap;
      line-height: 1.5rem;
      padding-top: 0.3rem;
    }
    .Container  #spettacoliGiorno  li  a  img {
      display: block;
      height: 7rem;
      width: 7rem;
      border-radius: 0rem 0rem 0rem 1.0625rem;
      margin-right: 1rem;
      position: relative;
      bottom: 0.3rem;
    }
    .Container  #spettacoliGiorno  li span {
      display: block;
      font-size: 0.8rem;
      font-weight: 300;
      border-top: 0.125rem solid var(--Palette2);
      padding-top: 0.4rem;
      position: absolute;
      bottom: 0.2rem;
      left: 8rem;
      text-align: left;
      width: 60%;
      line-height: 0.9rem;
    }
    .Container  #MobileScrollMessage {
      width: 100%;
      display: flex;
      justify-content: center;
      position: relative;
      bottom: 2rem;
    }
    .Container  #MobileScrollMessage  p {
      text-transform: uppercase;
      font-size: 0.9rem;
    }
    .Image {
      display: none;
    }
    .ImageMobile {
      display: block;
      width: 100%;
    }
    .NoEvents {
      width: 100%;
      height: 100%;
      text-align: center;
      align-content: center;
      margin: 2rem 0 5rem 0;
    }
  }

/*  Desktop  */
  @media screen and (min-width: 441px) {

    .Container {
      margin-top: 8rem;
      margin-bottom: 6rem;
      width: 70rem;
    }
    .Container  .PageTitle {
      display: none !important;
    }
    .mobileCalendar {
      display: none;
    }
    .Container  table  tbody  tr  td span {
      display: none;
    }
    .Container  .ReplCalendar{
      display: block;
      width: 30rem;
      border-spacing: 0.2rem;
    }
    .Container  .ReplCalendar  tbody  tr {
      user-select: none;
      height: auto;
    }

    /* Header mese */
    .Container  .ReplCalendar  tbody  tr  th {
      height: 4.5rem;
      font-size: 1.5rem;
      text-transform: uppercase;
      background: transparent;
      color: var(--Palette3);
      border-radius: 0.3rem;
      cursor: default;
    }
    .Container  .ReplCalendar  tbody  tr  th  .ChangeMonth.Left{
      position: relative;
      right: 3rem;
      cursor: pointer;
      font-size: 1.5rem;
      transition: color 0.3s ease;
    }
    .Container  .ReplCalendar  tbody  tr  th  .ChangeMonth.Left:hover{
      color: var(--Palette1);
    }
    .Container  .ReplCalendar  tbody  tr  th  .ChangeMonth.Right{
      position: relative;
      left: 3rem;
      cursor: pointer;
      transition: color 0.3s ease;
    }
    .Container  .ReplCalendar  tbody  tr  th  .ChangeMonth.Right:hover{
      color: var(--Palette1);
    }

    /* Giorni della settimana */
    .Container  .ReplCalendar  tbody  tr  .Weekday {
      border: none !important;
      text-align: center;
      padding: 1rem 0.3rem;
      color: var(--Box_Evento_Authors_Color);
      background: transparent;
      height: 1rem;
      font-weight: 600;
      cursor: default;
      padding-bottom: 3rem;
    }
    .Container  .ReplCalendar  tbody  tr  .Weekday:hover{
      box-shadow: none !important;
    }

    /* Celle vuote */
    .Container  .ReplCalendar  tbody  tr  .Empty {
      box-sizing: border-box;
      border: 0.05rem solid #e8e8e8;
      background: transparent;
      cursor: default;
      min-height: 3rem;
      height: 3rem;
    }
    .Container  .ReplCalendar  tbody  tr  .Empty:hover{
      box-shadow: none !important;
    }

    /* Cella normale base */
    .Container  .ReplCalendar  tbody  tr  .normal {
      box-sizing: border-box;
      border: 0.05rem solid #cbcbcb;
      min-height: 3rem;
      height: 3.5rem;
    }
    .Container  .ReplCalendar  tbody  tr  td {
      text-align: center;
      vertical-align: middle;
      min-height: 3rem;
      height: 3.5rem;
      border: 0.05rem solid #cbcbcb;
      width: 10%;
      border-radius: 0.125rem;
      position: relative;
      transition: box-shadow 0.3s ease;
      cursor: pointer;
    }
    .Container  .ReplCalendar  tbody  tr:last-child{
      display: none;
    }

    /* Numero giorno base: grigio (senza eventi ancora caricati) */
    .Container  .ReplCalendar  tbody  tr  td  .DayNumber {
      font-size: 1.1rem;
      font-weight: 300;
      color: #cccccc;
      text-align: center;
      align-content: center;
      width: 100%;
      height: 100%;
      display: block;
      transition: all 0.2s ease;
    }

    /* Giorno CON eventi: bordeaux grassetto */
    .Container  .ReplCalendar  tbody  tr  td.has-events {
      border-color: #cbcbcb;
      cursor: pointer;
    }
    .Container  .ReplCalendar  tbody  tr  td.has-events  .DayNumber {
      color: var(--Palette1);
      font-weight: 700;
      font-size: 1.2rem;
    }
    .Container  .ReplCalendar  tbody  tr  td.has-events:hover {
      box-shadow: 0px 0px 0px 2px var(--Palette1);
    }
    .Container  .ReplCalendar  tbody  tr  td.has-events:hover  .DayNumber {
      font-weight: 800;
    }

    /* Giorno SENZA eventi: grigio, non cliccabile */
    .Container  .ReplCalendar  tbody  tr  td.no-events {
      border-color: #eeeeee;
      cursor: default;
    }
    .Container  .ReplCalendar  tbody  tr  td.no-events  .DayNumber {
      color: #cccccc;
      font-weight: 300;
    }
    .Container  .ReplCalendar  tbody  tr  td.no-events:hover {
      box-shadow: none !important;
    }
    .Container  .ReplCalendar  tbody  tr  td.no-events:hover  .DayNumber {
      font-weight: 300 !important;
    }

    /* Giorno SELEZIONATO */
    .Container  .ReplCalendar  tbody  tr  .selected  .DayNumber {
      font-weight: 800;
      color: var(--Box_Evento_Background_Color);
      background: var(--Box_Evento_Button_Text_Color);
      border: none;
    }

    /* Giorno SELEZIONATO CON eventi: numero bianco */
    .Container  .ReplCalendar  tbody  tr  .selected.has-events  .DayNumber {
      color: var(--Page_Background_Color) !important;
    }

    #MobileCalendarMessage { display: none; }
    #NoShowsMessage { display: none; }
    #MobileScrollMessage { display: none; }

    .Container  .ReplCalendar  tbody  tr  td  ul {
      list-style-type: none;
      padding: 0rem;
      padding-left: 1rem;
      height: 100%;
      padding-top: 0;
      padding-right: 1rem;
      margin-top: 0.5rem;
      margin-bottom: 0.5rem;
      font-size: 0.55rem;
      font-weight: 500;
    }
    .Container  .ReplCalendar  tbody  tr  td  ul  li {
      padding: 0.25rem 0.2rem;
      cursor: pointer;
      border-bottom: 0.125rem solid var(--Palette2);
      transition: background 0.3s ease;
      margin-left: 0.2rem;
    }
    .Container  .ReplCalendar  tbody  tr  td  ul  li  a {
      width: 100%;
      display: block;
      text-decoration: none;
      text-transform: uppercase;
      transition: color 0.3s ease;
    }
    .Container  .ReplCalendar  tbody  tr  td  ul  li:last-child{ border-bottom: none; }
    .Container  .ReplCalendar  tbody  tr  td:nth-child(6)  ul  li,
    .Container  .ReplCalendar  tbody  tr  td:first-child  ul  li,
    .Container  .ReplCalendar  tbody  tr  td:last-child  ul  li {
      border-bottom: 0.125rem solid var(--Palette2);
    }
    .Container  .ReplCalendar  tbody  tr  td:nth-child(6)  ul  li:last-child,
    .Container  .ReplCalendar  tbody  tr  td:first-child  ul  li:last-child,
    .Container  .ReplCalendar  tbody  tr  td:last-child  ul  li:last-child {
      border-bottom: none;
    }
    .Container  .ReplCalendar  tbody  tr  td  ul  li  a  img { display: none; }
    .CasellaVuota { background-color: #727272; }

    #main-container  table  tbody  tr:nth-child(1)  th,
    #main-container  table  tbody  tr:nth-child(1)  th  span.ChangeMonth.Right,
    #main-container  table  tbody  tr:nth-child(1)  th  span.ChangeMonth.Left {
      color: #000;
      height: 5.6rem;
    }

    .Container #ContainerCalendario {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 1rem;
    }
    .Container #ContainerCalendario #EventsContainer { padding-top: 2rem; }
    /*.Container #ContainerCalendario #EventsContainer .EventBox:first-child { border-top: 1px solid; }*/
    .Container #ContainerCalendario #EventsContainer .EventBox {
      height: 6.4rem;
      /*border-bottom: 1px solid;*/
      width: 100%;
      margin: 0;
      padding-top: 1rem;
      padding-bottom: 0.8rem;
    }
    .Container #ContainerCalendario #EventsContainer .EventBox a {
      display: grid;
      grid-template-columns: 12rem 21vw;
      justify-content: start;
    }
    .Container #ContainerCalendario #EventsContainer .EventBox a .Image {
      object-fit: cover;
      display: block;
      width: 11rem;
    }
    .Container #ContainerCalendario #EventsContainer .EventBox a .TextBox {
      display: grid;
      justify-content: start;
      overflow: auto;
      text-align: left;
    }
    .Container #ContainerCalendario #EventsContainer .EventBox a .TextBox .Sottotitolo { font-size: 0.8rem; }
    .Container #ContainerCalendario #EventsContainer .EventBox a .TextBox .Location,
    .Container #ContainerCalendario #EventsContainer .EventBox a .TextBox .Date {
      vertical-align: bottom;
      font-size: 0.9rem;
      line-height: 1rem;
      padding: 0;
    }
    .EmptyBox { border-bottom: 1px solid #c0c0c0; }
    .EmptyBox img { padding: 1rem 0 0.8rem 0; width: 11rem; height: 5rem; }
    .NoEvents {
      width: 100%;
      height: 100%;
      border: 2px solid #c0c0c0;
      border-radius: 5px;
      text-align: center;
      align-content: center;
      background: #f7f7f7;
    }
    .ImageMobile { display: none; }
    .Image { display: block; }
  }