.button {
  display: inline-block;
  position: relative;
  text-decoration: none;
  border: none;
  border-radius: 6px;
  font-family: system-ui, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1;
  padding: 12px 24px !important;
  transition: all 0.25s ease-in-out;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.button--primary {
  background-color: #00a3d9; /* azzurro asiago.it */
  border: 2px solid #00a3d9;
}
.button--primary .button__text {
  color: #fff;
}
.button--primary:hover,
.button--primary:focus {
  background-color: #0090c2; /* più scuro in hover */
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
}
.button--secondary {
  background-color: #fff;
  border: 2px solid #00a3d9;
}
.button--secondary .button__text {
  color: #00a3d9;
}
.button--secondary:hover,
.button--secondary:focus {
  background-color: #00a3d9;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
}
.button--secondary:hover .button__text,
.button--secondary:focus .button__text {
  color: #fff !important;
}
.button__text {
  display: inline-block;
  letter-spacing: 0.5px;
}

.u-align-center a.button--secondary {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: fit-content;
  margin-top: 1em;
}

.u-align-center a .social-list__icon {
  width: 28px;
}

/* di default la nascondo… */
.infobar {
  display: none !important;
}

.infobar .infobar__icon {
  color: white !important;
}

/* …ma la rendo visibile su tutte le viewport “non desktop pieno”
   (mobile + tablet fino a 60em) */
@media (max-width: 60em) {
  .infobar {
    display: block !important;
  }
}

.c-section {
  clear: both; /* interrompe i float/griglie del blocco precedente */
  margin-top: 3rem;
}
.c-section > *:last-child::after {
  content: '';
  display: block;
  clear: both; /* sicurezza in coda alla lista */
}

.all-news-container #article-list-content-events-site .article-list__item {
  width: calc(100% / 4) !important;
}
.all-news-container .article-list__main {
  max-width: calc(1.25rem * 60);
}
.top-news {
  margin-top: -240px !important;
}
.all-news-container {
  margin-top: 6em;
}

.backtoallnews {
  padding: 0 1rem;
  margin-top: 2rem;
  margin-bottom: 6rem;
  .backtoallnews__container {
    width: 100%;
    max-width: 60rem;
    margin: 0 auto;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
    @supports (gap: 1rem 1.5rem) {
      gap: 1rem 1.5rem;
      .backtoallnews__link {
        margin-right: 0 !important;
        margin-bottom: 0 !important;
      }
    }
    .backtoallnews__link {
      box-shadow: 0 0.125rem 0.25rem color-mod(var(--color-primary) alpha(0.25));
      padding: 0.425rem 0.675rem;
      background-color: var(--color-winter-primary);
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      justify-content: center;
      margin-right: 1rem;
      margin-bottom: 1rem;
      @media (--desktop) {
        padding: 0.325rem 0.575rem;
      }
      @media (--desktop-5) {
        padding: 0.425rem 0.675rem;
      }
      @media (--desktop-7) {
        padding: 0.625rem 0.875rem;
      }
      > :last-child {
        margin-left: 1rem;
      }
      .backtoallnews__icon {
        fill: var(--color-inverted);
        margin-left: 0.25rem;
      }
      .backtoallnews__text {
        white-space: nowrap;
        @media (--tablet) {
          font-size: 1rem;
        }
        @media (--desktop) {
          font-size: 0.875rem;
        }
        @media (--desktop-5) {
          font-size: 1rem;
        }
        @media (--desktop-7) {
          font-size: 1.25rem;
        }
      }
    }
  }
}

.hero--header {
  position: relative;
}

.hero__images::after {
  content: '';
  position: absolute;
  inset: 0 0 0 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0) 25%,
    rgba(0, 0, 0, 0.15) 50%,
    rgba(0, 0, 0, 0) 75%,
    rgba(0, 0, 0, 0) 100%
  );
  pointer-events: none;
}

.hero__text {
  opacity: 0;
  transition: opacity 0.8s ease-in;
}
.hero__text.is-visible {
  opacity: 1;
}

.header__title {
  opacity: 0;
  transform: translateX(-60px);
  transition: opacity 0.6s ease, transform 0.6s ease-in-out;
}
.header__title.is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* Hero CTA – stile + stato iniziale + transition comune */
.c-webcam-cta__link,
.newsletter-cta--header,
.contatti-cta--header,
.map-cta--header {
  background: #00a4dc96;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 12px 0 0 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  opacity: 0;
  transform: translateX(60px);
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease, background 0.3s ease, border-color 0.3s ease,
    box-shadow 0.25s ease;
}

/* Hover */
.c-webcam-cta__link:hover,
.newsletter-cta--header:hover,
.contatti-cta--header:hover,
.map-cta--header:hover {
  background: #00a4dc;
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.25);
}

.c-webcam-cta__icon img {
  color: #fff;
  width: 2.2rem;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}

.c-webcam-cta__copy span,
.newsletter-cta__text,
.contatti-cta__text,
.map-cta__text {
  color: #fff;
  font-weight: 700;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-shadow: 0 1px 2px #000;
}

.c-webcam-cta__container {
  gap: 1.35rem;
  padding: 0.5rem 0.75rem;
}

.newsletter-cta--header .c-webcam-cta__container,
.contatti-cta--header .c-webcam-cta__container,
.map-cta--header .c-webcam-cta__container {
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}

/* Mobile: entrano dal basso */
@media (max-width: 60em) {
  .c-webcam-cta__link,
  .newsletter-cta--header,
  .contatti-cta--header,
  .map-cta--header {
    background: rgba(0, 164, 220, 0.3);
    border-radius: 12px;
    transform-origin: right;
    transform: translateY(50px); /* stato iniziale mobile */
  }

  .c-webcam-cta__link.is-visible,
  .newsletter-cta--header.is-visible,
  .contatti-cta--header.is-visible,
  .map-cta--header.is-visible {
    transform: translateY(0);
  }
}

/* Desktop: allinea le CTA laterali e dai la stessa larghezza */
@media (min-width: 40em) {
  /* wrapper assoluti a destra con stessa width */
  .c-webcam-cta__link,
  .newsletter-cta--header,
  .contatti-cta--header,
  .map-cta--header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-left: 0.25rem;
  }

  .c-webcam-cta__copy span,
  .newsletter-cta__text,
  .contatti-cta__text,
  .map-cta__text {
    text-align: right;
    display: inline-block;
  }
  .map-cta--header {
    right: 0;
    margin-right: 0;
    width: 150px;
    box-sizing: border-box;
  }

  .contatti-cta--header {
    right: 0;
    margin-right: 0;
    width: 170px;
    box-sizing: border-box;
  }

  .newsletter-cta--header {
    right: 0;
    margin-right: 0;
    width: 190px;
    box-sizing: border-box;
  }

  .c-webcam-cta__link {
    right: 0;
    margin-right: 0;
    width: 210px;
    box-sizing: border-box;
  }
}

/* Stagger: delay diversi per ogni CTA */
.c-webcam-cta__link {
  transition-delay: 0.3s;
}
.newsletter-cta--header {
  transition-delay: 0.2s;
}
.contatti-cta--header {
  transition-delay: 0.1s;
}
.map-cta--header {
  transition-delay: 0s;
}

/* Stato visibile: quando aggiungi .is-visible da JS */
.c-webcam-cta__link.is-visible,
.newsletter-cta--header.is-visible,
.contatti-cta--header.is-visible,
.map-cta--header.is-visible {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

/* FORMS */
.form__title {
  color: white !important;
  background-color: #00a4dc;
  padding: 1rem;
  margin-bottom: -1.4em;
}

.c-form.c-form--hero {
  background: transparent; /* niente azzurro pieno */
  margin-top: -2.8rem; /* lo tiri un po’ su verso l’hero */
  position: relative;
  opacity: 0;
  transform: translateY(35px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.c-form.c-form--hero.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.c-form.c-form--hero .c-form__main {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  max-width: 58rem;
  margin: 0 auto;
  padding: 1.6rem 2.1rem;
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
}
.c-form--hero .c-form-group.is-form-group-initial {
  display: flex;
  gap: 1rem;
  width: 100%;
  align-items: center;
  justify-content: center;
}
.c-form--hero .c-form-item__input .c-form-input__field {
  height: 2.6rem;
  border-radius: 8px;
  border: 1px solid #d7e4ed;
  padding: 0 0.8rem;
  font-size: 0.9rem;
}
.c-form--hero input[type='button'],
.c-form--hero input[type='submit'] {
  background: #00a4dc;
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 0.45rem 1.4rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}
.c-form--hero input[type='button']:hover,
.c-form--hero input[type='submit']:hover {
  background: #008ab9;
}
.c-form--hero .c-form-group.is-form-group-hidden {
  margin-top: 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  padding-top: 1rem;
  display: grid;
  gap: 0.75rem;
}
.c-form--hero .c-form-label {
  font-size: 0.75rem;
  margin-bottom: 0.25rem;
  color: #444;
}
@media (max-width: 56em) {
  .c-form.c-form--hero .c-form__main {
    flex-direction: column;
    max-width: min(100% - 2rem, 38rem);
  }
  .c-form--hero .c-form-group.is-form-group-initial {
    flex-direction: column;
    align-items: stretch;
  }
  .c-form--hero input[type='button'] {
    width: 100%;
    text-align: center;
  }
}

/* OVERRIDES - Globals */
.ui-datepicker-calendar td:hover {
  background-color: #8a8f93;
}
.ui-datepicker-calendar td:hover .ui-state-default {
  color: white;
}

.c-form.c-form--contacts {
  margin-top: -2.5em !important;
  margin-bottom: 0 !important;
}
.c-form-input input[type='button'],
.c-form-input input[type='submit'] {
  transition: all 0.3s ease;
}
/* BOTTONI "Indietro" (restano trasparenti con bordo blu) */
.c-form-input input[type='button'].a-form-field-name-btnindietro,
.c-form-input input[type='button'].a-form-field-name-btnindietro2 {
  background-color: transparent;
  color: #00a7e1;
  border: 2px solid #00a7e1;
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px 20px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.c-form-input input[type='button'].a-form-field-name-btnindietro:hover,
.c-form-input input[type='button'].a-form-field-name-btnindietro2:hover {
  background-color: #00a7e1;
  color: #ffffff;
}

/* BOTTONI "Procedi / Invia" (inversione: blu pieno, testo bianco) */
.c-form-input input[type='button'].a-form-field-name-btnprocedi,
.c-form-input input[type='button'].a-form-field-name-btnprocedi2,
.c-form-input input[type='submit'].a-form-field-name-btninvia {
  background-color: #00a7e1;
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px 20px;
  border: 2px solid #00a7e1;
  cursor: pointer;
  transition: all 0.3s ease;
}

.c-form-input input[type='button'].a-form-field-name-btnprocedi:hover,
.c-form-input input[type='button'].a-form-field-name-btnprocedi2:hover,
.c-form-input input[type='submit'].a-form-field-name-btninvia:hover {
  background-color: #ffffff;
  color: #00a7e1;
  border: 2px solid #00a7e1 !important;
}

.a-form-send-status-success .c-form-label__text.s-cms-content {
  color: #88aa51;
}

.text-gray {
  color: #666 !important;
}
.text-blu {
  color: #00a4dc !important;
}
.text-large {
  font-size: 1.8rem;
}

/* FOOTER */
footer {
  margin-top: 2.5em;
}

footer .article__subtitle.u-align-content-inline-center {
  color: #00a4dc;
  font-size: 1.8rem;
}

.footer-info .footer-sitemap .sitemap__item--extra {
  padding-top: calc(1rem / 2);
}

.social-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2em;
}

.social-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2em;
  list-style: none;
  margin: 0;
  padding: 0;
}
.social-list__item {
  display: flex;
  align-items: center;
}
.social-list__link {
  display: flex;
  align-items: center;
  gap: 0.5em;
  color: #00a4dc;
  text-decoration: none;
  font-size: 1.2em;
  transition: transform 0.25s ease, color 0.25s ease;
}
.social-list__icon {
  width: clamp(28px, 4vw, 40px);
  height: auto;
  transition: transform 0.25s ease;
}
.social-list__link:hover {
  color: #008ec2;
  transform: scale(1.05);
}
.social-list__link:hover .social-list__icon {
  transform: scale(1.15);
}
@media (max-width: 640px) {
  footer .article__subtitle.u-align-content-inline-center {
    font-size: clamp(18px, 5.2vw, 26px);
  }
  .social-list {
    gap: clamp(14px, 5vw, 28px);
  }
}

.consigliato_da_asiago_it {
  margin-top: 3em !important;
  width: fit-content;
  margin: auto;
}
.consigliato_da_asiago_it img {
  max-width: 200px;
  height: auto;
}

.orari-grid {
  display: grid;
  gap: 80px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  align-items: start;
  margin: 3em auto;
}
.tabella-orari {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}
.tabella-orari caption {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}
.tabella-orari td {
  padding: 0.7em 0 !important;
  border-bottom: 1px solid #eef1f4;
}
.tabella-orari td:first-child {
  width: 10ch; /* prova 9–11ch in base al font (“Mercoledì” entra) */
  padding-right: 16px; /* un po' di respiro dagli orari */
  white-space: nowrap; /* evita che “Mercoledì” vada a capo */
}
.tabella-orari td:nth-child(2) {
  white-space: nowrap;
}
@media (max-width: 640px) {
  .tabella-orari td:first-child {
    width: auto;
  }
  .tabella-orari td:nth-child(2) {
    white-space: normal;
  }
}

.box-informazioni {
  padding: 24px;
  min-height: 220px;
  margin-top: -25px;
}

.note-head {
  font-weight: 700;
  margin-bottom: 12px;
}
.note-collapse {
  position: relative;
}
.note-collapse__content {
  transition: max-height 0.25s ease;
  cursor: pointer;
}
.note-collapse__toggle {
  margin-top: 10px;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-decoration: underline;
}

.note-more {
  margin-top: 12px;
  justify-self: end;
}
.note-more__btn {
  border: 0;
  background: transparent;
  text-decoration: underline;
  cursor: pointer;
}

.notes-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}
.notes-modal[aria-hidden='true'] {
  display: none;
}
.notes-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
}
.notes-modal__body {
  padding: 0 1em;
}
.notes-modal__dialog {
  position: relative;
  background: #fff;
  max-width: 760px;
  width: 92vw;
  max-height: 80vh;
  overflow: auto;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
#notes-modal-title {
  color: #008ec2;
  font-size: 1.8em;
}
.notes-modal__close {
  position: absolute;
  top: 8px;
  right: 10px;
  border: 0;
  background: transparent;
  font-size: 24px;
  cursor: pointer;
}
.note-item {
  padding: 12px 0;
  border-top: 1px solid #eef1f4;
}
.note-item:first-child {
  border-top: 0;
}
.note-item h4 {
  margin: 0 0 6px;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: #5b6b80;
}
.note-item h4 time {
  font-variant-numeric: tabular-nums;
  color: #5b6b80;
}

.article--content {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  border-radius: 10px;
  overflow: hidden;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.article--content.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.article--content:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.article--content:hover .article-figure__image {
  transform: scale(1.05);
  transition: transform 0.4s ease;
}

.article__date {
  color: #b3b3b3 !important;
  font-weight: 600 !important;
  font-size: 0.9rem;
}
.article-button-list__button {
  display: inline-block;
  background: #00a7e1;
  color: #fff !important;
  padding: 8px 18px;
  border-radius: 999px;
  border: 2px solid #00a7e1;
  transition: all 0.3s ease;
  letter-spacing: 0.03em;
}
.article:hover .article-button-list__button {
  background: #fff;
  color: #00a7e1 !important;
  border-color: #00a7e1;
}
.article-button-list {
  margin-top: 1rem;
}
.article--pure-text .article__date--publication {
  text-align: end;
  color: #b3b3b3;
  font-weight: 600;
}
.article--pure-text .article__images {
  margin-top: 1.95312rem;
}

.article--regular.attr-band .article-action .article-action__link:hover {
  background-color: #00a4dc;
}
.article--regular.attr-band .article-action .article-action__link:hover .article-action__text {
  color: white;
}
.article--cards
  .article__body
  .article__main
  .article__content
  .article__images
  .article__images-content
  .article__figure
  .article-figure__link
  .article-figure__text {
  position: absolute;
  bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  width: 100%
}

.article--gallery .article__title {
  color: #898e8f;
  text-align: center;
  font-size: 4rem;
}
.article--gallery .article__subtitle {
  color: #00a4dc;
  text-align: center;
  font-size: 1.6rem;
}
.article--gallery .article__body {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}
