/* @layer-wrap:site.elements */
@layer site.elements {
/* Version: 19-10-2026-c4 */
/* Éléments de contenu — réglages fins par élément (plan-elements-contenu.md, lot C4), chargés après les feuilles
   d'élément (portfolios_content_element_sheets()). Attributs posés sur le header seulement quand le réglage s'écarte
   de la disposition (portfolios_element_option_attrs(), matrices_registry.php) ; Premium.
   1. Densité : facteurs lus par les écarts (--pf-density-gap) et les marges intérieures (--pf-density-pad) des feuilles
      d'élément, calc(<valeur> * var(--pf-density-…, 1)) : sans réglage, rendu inchangé. Les écarts déjà en
      var(--layout-gap) (grilles .pf-cols, vignettes) suivent --layout-gap, redéfini sur le conteneur (20px à la racine).
   2. Colonnes sur ordinateur (dès 1101px) : dispositions en grille (Grille, Polaroïd, Bento, Magazine) ; mobile inchangé.
      Œuvres : seul le nombre par ligne change (--_thumbs), le format reste celui du type.
   3. Infos affichées : infos masquées (data-<élément>-hide, liste de mots). */

/* --- 1. Densité ------------------------------------------------------------------------------------------- */
#portfolio_page:has(header[data-articles-density="tight"]) .blog-list,
#portfolio_page:has(header[data-events-density="tight"]) #agenda-list,
#portfolio_page:has(header[data-services-density="tight"]) .services-slider,
#portfolio_page:has(header[data-works-density="tight"]) .pf-thumbs:not([data-layout-slot="images"]),
#portfolio_page:has(header[data-images-density="tight"]) :is(#gallery, #production-show-photos-grid, .pf-thumbs[data-layout-slot="images"]),
#portfolio_page:has(header[data-awards-density="tight"]) :is(.awards-list, ul.festivals),
#portfolio_page:has(header[data-timeline-density="tight"]) [data-timeline-layout],
#portfolio_page:has(header[data-recommendations-density="tight"]) [data-recommendations-layout],
#portfolio_page:has(header[data-casting-density="tight"]) [data-casting-layout],
#portfolio_page:has(header[data-informations-density="tight"]) .informations-list {
    --pf-density-gap: 0.5;
    --pf-density-pad: 0.7;
    --layout-gap: calc(20px * 0.5);
}

#portfolio_page:has(header[data-recommendations-density="tight"]) [data-recommendations-layout] .recommendations-grid {
    --layout-gap: calc(20px * 0.5);
    --layout-space-y-md: calc(25px * 0.7);
    --layout-space-x-md: calc(20px * 0.7);
}

#portfolio_page:has(header[data-articles-density="airy"]) .blog-list,
#portfolio_page:has(header[data-events-density="airy"]) #agenda-list,
#portfolio_page:has(header[data-services-density="airy"]) .services-slider,
#portfolio_page:has(header[data-works-density="airy"]) .pf-thumbs:not([data-layout-slot="images"]),
#portfolio_page:has(header[data-images-density="airy"]) :is(#gallery, #production-show-photos-grid, .pf-thumbs[data-layout-slot="images"]),
#portfolio_page:has(header[data-awards-density="airy"]) :is(.awards-list, ul.festivals),
#portfolio_page:has(header[data-timeline-density="airy"]) [data-timeline-layout],
#portfolio_page:has(header[data-recommendations-density="airy"]) [data-recommendations-layout],
#portfolio_page:has(header[data-casting-density="airy"]) [data-casting-layout],
#portfolio_page:has(header[data-informations-density="airy"]) .informations-list {
    --pf-density-gap: 1.75;
    --pf-density-pad: 1.35;
    --layout-gap: calc(20px * 1.75);
}

#portfolio_page:has(header[data-recommendations-density="airy"]) [data-recommendations-layout] .recommendations-grid {
    --layout-gap: calc(20px * 1.75);
    --layout-space-y-md: calc(25px * 1.35);
    --layout-space-x-md: calc(20px * 1.35);
}

/* --- 2. Colonnes sur ordinateur ---------------------------------------------------------------------------- */
@media (min-width: 1101px) {
    #portfolio_page:has(header[data-articles-cols="2"]) .blog-list[data-articles-layout="grid"],
    #portfolio_page:has(header[data-articles-cols="2"]) .blog-list[data-articles-layout="polaroid"],
    #portfolio_page:has(header[data-articles-cols="2"]) .blog-list[data-articles-layout="bento"],
    #portfolio_page:has(header[data-articles-cols="2"]) .blog-list[data-articles-layout="magazine"],
    #portfolio_page:has(header[data-events-cols="2"]) #agenda-list[data-events-layout="grid"],
    #portfolio_page:has(header[data-events-cols="2"]) #agenda-list[data-events-layout="polaroid"],
    #portfolio_page:has(header[data-events-cols="2"]) #agenda-list[data-events-layout="bento"],
    #portfolio_page:has(header[data-events-cols="2"]) #agenda-list[data-events-layout="magazine"],
    #portfolio_page:has(header[data-services-cols="2"]) .services-slider[data-services-layout="grid"],
    #portfolio_page:has(header[data-services-cols="2"]) .services-slider[data-services-layout="polaroid"],
    #portfolio_page:has(header[data-services-cols="2"]) .services-slider[data-services-layout="bento"],
    #portfolio_page:has(header[data-services-cols="2"]) .services-slider[data-services-layout="magazine"],
    #portfolio_page:has(header[data-images-cols="2"]) :is(#gallery, #production-show-photos-grid)[data-images-layout="grid"],
    #portfolio_page:has(header[data-images-cols="2"]) :is(#gallery, #production-show-photos-grid)[data-images-layout="polaroid"],
    #portfolio_page:has(header[data-images-cols="2"]) :is(#gallery, #production-show-photos-grid)[data-images-layout="bento"],
    #portfolio_page:has(header[data-images-cols="2"]) :is(#gallery, #production-show-photos-grid)[data-images-layout="magazine"],
    #portfolio_page:has(header[data-awards-cols="2"]) :is(.awards-list, ul.festivals)[data-awards-layout="grid"],
    #portfolio_page:has(header[data-awards-cols="2"]) :is(.awards-list, ul.festivals)[data-awards-layout="polaroid"],
    #portfolio_page:has(header[data-awards-cols="2"]) :is(.awards-list, ul.festivals)[data-awards-layout="bento"],
    #portfolio_page:has(header[data-awards-cols="2"]) :is(.awards-list, ul.festivals)[data-awards-layout="magazine"],
    #portfolio_page:has(header[data-recommendations-cols="2"]) [data-recommendations-layout="grid"] .recommendations-grid,
    #portfolio_page:has(header[data-recommendations-cols="2"]) [data-recommendations-layout="polaroid"] .recommendations-grid,
    #portfolio_page:has(header[data-recommendations-cols="2"]) [data-recommendations-layout="bento"] .recommendations-grid,
    #portfolio_page:has(header[data-recommendations-cols="2"]) [data-recommendations-layout="magazine"] .recommendations-grid {
        --_cols: 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #portfolio_page:has(header[data-works-cols="2"]) .pf-thumbs[data-works-layout="grid"]:not([data-layout-slot="images"]),
    #portfolio_page:has(header[data-works-cols="2"]) .pf-thumbs[data-works-layout="polaroid"]:not([data-layout-slot="images"]),
    #portfolio_page:has(header[data-works-cols="2"]) .pf-thumbs[data-works-layout="bento"]:not([data-layout-slot="images"]),
    #portfolio_page:has(header[data-works-cols="2"]) .pf-thumbs[data-works-layout="magazine"]:not([data-layout-slot="images"]) {
        --_thumbs: 2;
    }

    #portfolio_page:has(header[data-services-cols="2"]) .services-slider[data-services-layout="grid"] {
        --pf-services-cols: 2;
    }

    #portfolio_page:has(header[data-articles-cols="3"]) .blog-list[data-articles-layout="grid"],
    #portfolio_page:has(header[data-articles-cols="3"]) .blog-list[data-articles-layout="polaroid"],
    #portfolio_page:has(header[data-articles-cols="3"]) .blog-list[data-articles-layout="bento"],
    #portfolio_page:has(header[data-articles-cols="3"]) .blog-list[data-articles-layout="magazine"],
    #portfolio_page:has(header[data-events-cols="3"]) #agenda-list[data-events-layout="grid"],
    #portfolio_page:has(header[data-events-cols="3"]) #agenda-list[data-events-layout="polaroid"],
    #portfolio_page:has(header[data-events-cols="3"]) #agenda-list[data-events-layout="bento"],
    #portfolio_page:has(header[data-events-cols="3"]) #agenda-list[data-events-layout="magazine"],
    #portfolio_page:has(header[data-services-cols="3"]) .services-slider[data-services-layout="grid"],
    #portfolio_page:has(header[data-services-cols="3"]) .services-slider[data-services-layout="polaroid"],
    #portfolio_page:has(header[data-services-cols="3"]) .services-slider[data-services-layout="bento"],
    #portfolio_page:has(header[data-services-cols="3"]) .services-slider[data-services-layout="magazine"],
    #portfolio_page:has(header[data-images-cols="3"]) :is(#gallery, #production-show-photos-grid)[data-images-layout="grid"],
    #portfolio_page:has(header[data-images-cols="3"]) :is(#gallery, #production-show-photos-grid)[data-images-layout="polaroid"],
    #portfolio_page:has(header[data-images-cols="3"]) :is(#gallery, #production-show-photos-grid)[data-images-layout="bento"],
    #portfolio_page:has(header[data-images-cols="3"]) :is(#gallery, #production-show-photos-grid)[data-images-layout="magazine"],
    #portfolio_page:has(header[data-awards-cols="3"]) :is(.awards-list, ul.festivals)[data-awards-layout="grid"],
    #portfolio_page:has(header[data-awards-cols="3"]) :is(.awards-list, ul.festivals)[data-awards-layout="polaroid"],
    #portfolio_page:has(header[data-awards-cols="3"]) :is(.awards-list, ul.festivals)[data-awards-layout="bento"],
    #portfolio_page:has(header[data-awards-cols="3"]) :is(.awards-list, ul.festivals)[data-awards-layout="magazine"],
    #portfolio_page:has(header[data-recommendations-cols="3"]) [data-recommendations-layout="grid"] .recommendations-grid,
    #portfolio_page:has(header[data-recommendations-cols="3"]) [data-recommendations-layout="polaroid"] .recommendations-grid,
    #portfolio_page:has(header[data-recommendations-cols="3"]) [data-recommendations-layout="bento"] .recommendations-grid,
    #portfolio_page:has(header[data-recommendations-cols="3"]) [data-recommendations-layout="magazine"] .recommendations-grid {
        --_cols: 3;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #portfolio_page:has(header[data-works-cols="3"]) .pf-thumbs[data-works-layout="grid"]:not([data-layout-slot="images"]),
    #portfolio_page:has(header[data-works-cols="3"]) .pf-thumbs[data-works-layout="polaroid"]:not([data-layout-slot="images"]),
    #portfolio_page:has(header[data-works-cols="3"]) .pf-thumbs[data-works-layout="bento"]:not([data-layout-slot="images"]),
    #portfolio_page:has(header[data-works-cols="3"]) .pf-thumbs[data-works-layout="magazine"]:not([data-layout-slot="images"]) {
        --_thumbs: 3;
    }

    #portfolio_page:has(header[data-services-cols="3"]) .services-slider[data-services-layout="grid"] {
        --pf-services-cols: 3;
    }

    #portfolio_page:has(header[data-articles-cols="4"]) .blog-list[data-articles-layout="grid"],
    #portfolio_page:has(header[data-articles-cols="4"]) .blog-list[data-articles-layout="polaroid"],
    #portfolio_page:has(header[data-articles-cols="4"]) .blog-list[data-articles-layout="bento"],
    #portfolio_page:has(header[data-articles-cols="4"]) .blog-list[data-articles-layout="magazine"],
    #portfolio_page:has(header[data-events-cols="4"]) #agenda-list[data-events-layout="grid"],
    #portfolio_page:has(header[data-events-cols="4"]) #agenda-list[data-events-layout="polaroid"],
    #portfolio_page:has(header[data-events-cols="4"]) #agenda-list[data-events-layout="bento"],
    #portfolio_page:has(header[data-events-cols="4"]) #agenda-list[data-events-layout="magazine"],
    #portfolio_page:has(header[data-services-cols="4"]) .services-slider[data-services-layout="grid"],
    #portfolio_page:has(header[data-services-cols="4"]) .services-slider[data-services-layout="polaroid"],
    #portfolio_page:has(header[data-services-cols="4"]) .services-slider[data-services-layout="bento"],
    #portfolio_page:has(header[data-services-cols="4"]) .services-slider[data-services-layout="magazine"],
    #portfolio_page:has(header[data-images-cols="4"]) :is(#gallery, #production-show-photos-grid)[data-images-layout="grid"],
    #portfolio_page:has(header[data-images-cols="4"]) :is(#gallery, #production-show-photos-grid)[data-images-layout="polaroid"],
    #portfolio_page:has(header[data-images-cols="4"]) :is(#gallery, #production-show-photos-grid)[data-images-layout="bento"],
    #portfolio_page:has(header[data-images-cols="4"]) :is(#gallery, #production-show-photos-grid)[data-images-layout="magazine"],
    #portfolio_page:has(header[data-awards-cols="4"]) :is(.awards-list, ul.festivals)[data-awards-layout="grid"],
    #portfolio_page:has(header[data-awards-cols="4"]) :is(.awards-list, ul.festivals)[data-awards-layout="polaroid"],
    #portfolio_page:has(header[data-awards-cols="4"]) :is(.awards-list, ul.festivals)[data-awards-layout="bento"],
    #portfolio_page:has(header[data-awards-cols="4"]) :is(.awards-list, ul.festivals)[data-awards-layout="magazine"],
    #portfolio_page:has(header[data-recommendations-cols="4"]) [data-recommendations-layout="grid"] .recommendations-grid,
    #portfolio_page:has(header[data-recommendations-cols="4"]) [data-recommendations-layout="polaroid"] .recommendations-grid,
    #portfolio_page:has(header[data-recommendations-cols="4"]) [data-recommendations-layout="bento"] .recommendations-grid,
    #portfolio_page:has(header[data-recommendations-cols="4"]) [data-recommendations-layout="magazine"] .recommendations-grid {
        --_cols: 4;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    #portfolio_page:has(header[data-works-cols="4"]) .pf-thumbs[data-works-layout="grid"]:not([data-layout-slot="images"]),
    #portfolio_page:has(header[data-works-cols="4"]) .pf-thumbs[data-works-layout="polaroid"]:not([data-layout-slot="images"]),
    #portfolio_page:has(header[data-works-cols="4"]) .pf-thumbs[data-works-layout="bento"]:not([data-layout-slot="images"]),
    #portfolio_page:has(header[data-works-cols="4"]) .pf-thumbs[data-works-layout="magazine"]:not([data-layout-slot="images"]) {
        --_thumbs: 4;
    }

    #portfolio_page:has(header[data-services-cols="4"]) .services-slider[data-services-layout="grid"] {
        --pf-services-cols: 4;
    }

}

/* --- 3. Infos affichées -------------------------------------------------------------------------------------- */
#portfolio_page:has(header[data-articles-hide~="date"]) .blog-list .article-blog-infos__date,
#portfolio_page:has(header[data-articles-hide~="category"]) .blog-list .article-blog-infos__category,
#portfolio_page:has(header[data-articles-hide~="excerpt"]) .blog-list .article-blog-infos__description,
#portfolio_page:has(header[data-events-hide~="place"]) #agenda-list .agenda-item-place,
#portfolio_page:has(header[data-events-hide~="time"]) #agenda-list .agenda-item-time,
#portfolio_page:has(header[data-events-hide~="description"]) #agenda-list .agenda-item-description,
#portfolio_page:has(header[data-services-hide~="strike"]) .services-slider :is(.price-old, .price-discount),
#portfolio_page:has(header[data-services-hide~="content"]) .services-slider .service-body,
#portfolio_page:has(header[data-services-hide~="offer"]) .services-slider :is(.service-badge, .promo-banner),
#portfolio_page:has(header[data-works-hide~="subtitle"]) .pf-thumbs:not([data-layout-slot="images"]) :is(.vertical-infos, .horizontal-infos, .square-infos) > p,
#portfolio_page:has(header[data-awards-hide~="logo"]) :is(.awards-list, ul.festivals) .award__logo,
#portfolio_page:has(header[data-recommendations-hide~="year"]) [data-recommendations-layout] .recommendation-year,
#portfolio_page:has(header[data-recommendations-hide~="photo"]) [data-recommendations-layout] .recommendation-author-photo {
    display: none;
}

/* Date et catégorie masquées : la ligne qui les porte disparaît aussi (pas de marge vide). */
#portfolio_page:has(header[data-articles-hide~="date"][data-articles-hide~="category"]) .blog-list .article-blog-infos__meta {
    display: none;
}
}
