.service-portfolio .portfolio-grid {
    gap: 18px;
}
.service-portfolio .portfolio-item,
.galerie-pub-item {
    border-radius: 28px !important;
    overflow: hidden;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(201,168,124,0.16);
    box-shadow: 0 14px 40px rgba(0,0,0,0.08);
}
.service-portfolio .portfolio-item img,
.galerie-pub-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}
.service-portfolio .portfolio-item:hover,
.galerie-pub-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 48px rgba(0,0,0,0.12);
}
.galerie-pub-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.galerie-pub-item {
    position: relative;
    padding: 0;
    cursor: pointer;
    appearance: none;
}
.galerie-pub-item.hidden { display: none; }
.galerie-pub-overlay {
    border-radius: inherit;
}
.galerie-pub-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 22px 18px;
    border-radius: 22px;
    border: 1px solid rgba(201,168,124,0.18);
    background: rgba(201,168,124,0.08);
    color: var(--text-muted, #666);
    line-height: 1.7;
}
body.dark .service-portfolio .portfolio-item,
body.dark .galerie-pub-item {
    background: rgba(22,22,22,0.9);
    border-color: rgba(255,255,255,0.08);
    box-shadow: 0 18px 42px rgba(0,0,0,0.28);
}
body.dark .galerie-pub-empty {
    background: rgba(201,168,124,0.12);
    border-color: rgba(201,168,124,0.24);
}
@media (max-width: 900px) {
    .galerie-pub-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 680px) {
    .service-portfolio .portfolio-grid,
    .galerie-pub-grid {
        gap: 14px;
    }
    .service-portfolio .portfolio-item,
    .galerie-pub-item {
        border-radius: 22px !important;
    }
}


/* Ajustements formats spécifiques des galeries services */
.service-portfolio .portfolio-item {
    aspect-ratio: var(--tile-ratio, 4 / 5);
}
.service-portfolio .portfolio-item.is-landscape {
    --tile-ratio: 3 / 2;
}
.service-portfolio .portfolio-item.is-square {
    --tile-ratio: 1 / 1;
}
.service-portfolio .portfolio-item img {
    object-position: var(--image-position, center center);
}


/* Rendu mosaïque serré — page Nouveau-né */
body.page-nouveau-ne .service-portfolio .portfolio-grid {
    display: block;
    column-count: 3;
    column-gap: 10px;
    max-width: 1440px;
}
body.page-nouveau-ne .service-portfolio .portfolio-item {
    display: inline-block;
    width: 100%;
    margin: 0 0 10px;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    aspect-ratio: auto !important;
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 22px !important;
    overflow: hidden;
}
body.page-nouveau-ne .service-portfolio .portfolio-item img {
    width: 100%;
    height: auto !important;
    object-fit: initial;
    object-position: center center;
    display: block;
    border-radius: inherit;
    background: #14110f;
}
@media (max-width: 980px) {
    body.page-nouveau-ne .service-portfolio .portfolio-grid { column-count: 2; }
}
@media (max-width: 560px) {
    body.page-nouveau-ne .service-portfolio .portfolio-grid { column-count: 1; column-gap: 8px; }
    body.page-nouveau-ne .service-portfolio .portfolio-item { margin-bottom: 8px; border-radius: 18px !important; }
}
