.cmh-blog-scroll-outer-wrapper {
  max-width: 1280px;
  margin: 20px auto;
  overflow-x: auto;
  background-color: transparent;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 15px;
  cursor: grab;
  position: relative;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  scroll-behavior: smooth;
}

.cmh-blog-scroll-outer-wrapper:active {
  cursor: grabbing;
}

.cmh-blog-scroll-inner-wrapper {
  display: flex;
  width: max-content;
  background-color: transparent;
}

.cmh-blog-scroll-item {
  flex: 0 0 calc(1280px * 0.27);
  max-width: calc(1280px * 0.27);
  box-sizing: border-box;
  padding: 25px 20px;
  border-right: 1px solid #dddddd;
  background-color: transparent;
  display: flex;
  flex-direction: column;
}

.cmh-blog-scroll-item:last-child {
  border-right: none;
}

.cmh-blog-scroll-category {
  display: block;
  font-size: 14px;
  color: #555;
  margin-bottom: 8px;
  text-decoration: none;
  font-weight: normal;
}
.cmh-blog-scroll-category:hover {
 text-decoration: underline;
}

.cmh-blog-scroll-title {
  font-size: 16px !important;
  font-weight: bold !important;
  color: #417a2a !important;
  margin: 0 0 12px 0;
  line-height: 1.3;
  flex-grow: 0;
}

.cmh-blog-scroll-title a {
  color: inherit !important;
  text-decoration: none;
}

.cmh-blog-scroll-title a:hover {
  text-decoration: underline;
}

.cmh-blog-scroll-excerpt {
  font-size: 14px !important;
  color: inherit;
  line-height: 1.6;
  margin: 0;
  font-weight: normal !important;
  flex-grow: 1;
}

.cmh-blog-scroll-outer-wrapper::-webkit-scrollbar {
  height: 8px;
}

.cmh-blog-scroll-outer-wrapper::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

.cmh-blog-scroll-outer-wrapper::-webkit-scrollbar-thumb {
  background: #cccccc;
  border-radius: 4px;
}

.cmh-blog-scroll-outer-wrapper::-webkit-scrollbar-thumb:hover {
  background: #aaaaaa;
}

/* =================================== */
/* Stili solo per Mobile (sotto 767px) */
/* =================================== */
@media (max-width: 767px) {

    /**
     * [NUOVA REGOLA FONDAMENTALE]
     * Annulliamo 'width: max-content' che causa il bug su mobile.
     * Forzando la larghezza a 100%, il contenitore interno si comporterà
     * correttamente, permettendo agli articoli di occupare il giusto spazio.
     */
    .cmh-blog-scroll-inner-wrapper {
        width: 100%;
    }

    /* Abilita lo "snap" per lo scorrimento */
    .cmh-blog-scroll-outer-wrapper {
        scroll-snap-type: x mandatory;
    }

    /* Imposta ogni notizia per occupare il 100% dello spazio visibile */
    .cmh-blog-scroll-item {
        flex: 0 0 100%;
        max-width: 100%;
        scroll-snap-align: start;
        margin-right: 0;
    }

    /* Assicuriamoci che l'ultimo elemento non abbia bordi superflui */
    .cmh-blog-scroll-item:last-child {
        border-right: none;
    }

    /* Nascondiamo la barra di scorrimento estetica */
    .cmh-blog-scroll-outer-wrapper::-webkit-scrollbar {
        display: none;
    }
    .cmh-blog-scroll-outer-wrapper {
        -ms-overflow-style: none;  /* IE and Edge */
        scrollbar-width: none;     /* Firefox */
    }
}