.pub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
    margin: 20px 0;
}

.pub-item {
    position:relative;
    text-align: center;
    background: #fff;
    padding: 15px;
    border: 1px solid var(--ast-global-color-0);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    border-radius: 6px;
    transition: box-shadow 0.3s;
    font-size: 0.9em;
}

.pub-item-slide {
    position:relative;
    text-align: center;
    background: #fff;
    padding: 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    border-radius: 6px;
    transition: box-shadow 0.3s;
    font-size: 0.9em;
}

.pub-item p {
    margin-bottom:0.8em !important;
}
.pub-item:hover {
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.pub-item img {
    max-width: 100%;
    height: auto;
    border-radius: 5px;
    margin-bottom: 10px;
}

.pub-item h3 {
     padding: 0.1em 0;
     font-size:1rem;
     color: var(--ast-global-color-3);
}

.pub-item p {
    margin: 0.1em 0;
}

.pub-pagination {
    text-align: center;
    margin-top: 30px;
}

.pub-date-badge, .pub-date-badge-slide {
    left: 50%;
    transform: translateX(-50%);
    bottom: -20px;
    position: absolute;
    display: inline-block;
    padding: 0.5rem 2rem;
    background: var(--ast-global-color-0);
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1;
    clip-path: polygon(
        10% 0,    /* top-left  décalé */
        100% 0,   /* top-right */
        90% 100%, /* bottom-right décalé */
        0% 100%   /* bottom-left */
    );
    white-space: nowrap;
}
.pub-date-badge-slide {
    bottom:-15px;
}
/* Biseau droit */
.pub-date-badge::after {
    right: -0.75rem;
    border-right: 0.75rem solid transparent;
}

/* Déclarez d’abord la taille souhaitée pour vos slides */
.publications-swiper {
  --swiper-pagination-bottom: 0px;
}

div.publications-swiper .swiper-pagination-bullet-active {
background-color: #A6A6A6 !important;
}

.publications-swiper .swiper-button-next,
.publications-swiper .swiper-button-prev {
  display: none !important;
}

/* Puis appliquez-la à chaque slide */
/*.publications-swiper .swiper-slide {
   width: var(--slide-size) !important;
  flex: 0 0 var(--slide-size) !important;
  display: flex;
  justify-content: center;
  padding: clamp(10px, 2vw, 60px) 0;
  box-sizing: border-box;
}*/
.publications-swiper .swiper-slide {
  width: auto;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  padding: clamp(10px, 1.5vw, 60px) 0;
  box-sizing: border-box;
}

.pub-item-slide img {
    max-height:260px;
    width:auto;
}
.pubmarge {
    padding: 5px !important;
}