/* Migliorie estetiche leggere sopra Tailwind */
/* Font Museo */
@font-face {
    font-family: 'Museo';
    font-style: normal;
    font-weight: 100;
    src: local('museo'), url('/wp-content/uploads/fonts/museo/MuseoSans-100.otf') format('opentype');
}
@font-face {
    font-family: 'Museo';
    font-style: normal;
    font-weight: 300;
    src: local('museo'), url('/wp-content/uploads/fonts/museo/MuseoSans-300.otf') format('opentype');
}
@font-face {
    font-family: 'Museo';
    font-style: normal;
    font-weight: 500;
    src: local('museo'), url('/wp-content/uploads/fonts/museo/MuseoSans-500.otf') format('opentype');
}
@font-face {
    font-family: 'Museo';
    font-style: normal;
    font-weight: 700;
    src: local('museo'), url('/wp-content/uploads/fonts/museo/MuseoSans-700.otf') format('opentype');
}

body {
    font-family: 'Museo', sans-serif; /* Aggiunto fallback sans-serif */
    padding: 0;
    margin: 0 auto;
    background-color: #f8f9fa !important;
}
hr {
    opacity: 0.25;
}

.header {
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    justify-content: center;
    padding: 16px 0;
    height: auto; /* Altezza automatica per adattare il contenuto */
    background-color: #ed0217;
}

.logo {
    display: contents;
}

.logo img {
    width: 240px;
    height: auto; /* Altezza automatica per mantenere proporzioni */
}

:root {
  color-scheme: light;
  --rosso: #ed0217;
}
.rosso {
  color:var(--rosso);
}
.rosso-bk {
  background-color: var(--rosso);
}
.container {
  padding-right: 0!important;
  padding-left: 0!important;
}
button[aria-checked="true"] {
  background-color: var(--rosso)!important;
  color: white!important;
  border-color: var(--rosso)!important;
}
button[aria-checked="false"] {
  background-color: #fff!important;
  color: #333!important;
  border-color: #ccc!important;
}
.card-hover {
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.card-hover:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -10px rgba(2, 6, 23, .35);
}
.main-tab {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap:32px;
}
#categoryFilters {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
}
/* Badge generici */
.badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .25rem .55rem;
  border-radius: 9999px;
  font-size: .75rem;
  line-height: 1rem;
  border: 1px solid rgb(226 232 240);
  background: white;
  color: rgb(71 85 105);
}
.badge-sito {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .25rem .55rem;
  border-radius: 9999px;
  font-size: .75rem;
  line-height: 1rem;
  border: 1px solid rgb(226 232 240);
  background: white;
  color: var(--rosso);
}

/* Placeholder immagini */
.thumb-placeholder {
  display: grid;
  place-items: center;
  font-weight: 700;
  color: rgba(255,255,255,.92);
  letter-spacing: .02em;
  text-transform: uppercase;
  background: linear-gradient(135deg, #6366f1 0%, #0ea5e9 100%);
}

/* Blur-in quando l'immagine è caricata */
img[data-loaded="false"] {
  filter: blur(12px);
  transform: scale(1.02);
}
img[data-loaded="true"] {
  filter: blur(0);
  transform: none;
  transition: filter .3s ease, transform .3s ease;
}

/* Clamp multi-riga senza plugin */
.clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Scrollbar moderno */
* { scrollbar-width: thin; scrollbar-color: #a5b4fc #f1f5f9; }
*::-webkit-scrollbar { height: 10px; width: 10px; }
*::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 999px; }
*::-webkit-scrollbar-thumb { background: #a5b4fc; border-radius: 999px; }

#categoryFilters button {
    text-transform: uppercase;
}
article {
  height: fit-content!important;
}
article .img-href {
    width: 33%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    border-right: 1px solid rgba(226, 232, 240, 1);
    padding: 16px;
    max-width: 128px;
    background-color: rgba(226, 232, 240, 1);
}
article figure {
    display: flex!important;
    flex-direction: column!important;
    flex-wrap: nowrap!important;
    align-items: center!important;
}
article img {
    min-width: 96px;
    mix-blend-mode: multiply;
}
#cardsGrid {
  width:100%;
}
.tab-dx {
    height: fit-content;
    width:33%;
}
.link-sito {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--rosso);
}
.link-sito:hover {
    opacity: 0.8;
}
#cardsGrid flex {
}
.tab-dx-xs {
    display: none!important;
}
@media screen and (min-width: 1536px) and (max-width:1920px) {
    .container {
        max-width: 1440px!important;
    }
}
@media screen and (min-width: 1024px) and (max-width:1440px) {
    .container {
        max-width: 960px!important;
    }
}
@media screen and (min-width: 980px) and (max-width:1024px) {
    .container {
        max-width: 900px!important;
    }
}
@media screen and (min-width: 768px) and (max-width:980px) {
    .container {
        max-width: 700px!important;
    }
}
@media screen and (max-width:768px) {
  .mt-1 {
      margin-top: 0.25rem;
      font-size: 0.8rem;
  }
  .container {
    padding: 0 16px!important;
  }
  .main-tab {
      display: flex;
      flex-direction: column-reverse;
      flex-wrap: nowrap;
      padding: 16px 0;
  }
  .tab-dx {
      display: block!important;
  }
  .tab-dx {
      position: relative;
      top: 0;
      height: fit-content;
      width: 100%;
  }
  #categoryFilters {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: flex-start;
      overflow: auto;
  }
  #categoryFilters button {
      min-width: fit-content;
  }
}