/* @layer-wrap:site.elements */
@layer site.elements {
/* Version: 19-10-2026-casting */
/* Éléments de contenu — casting (venu de design/matrices/base.css, lot C1 de plan-elements-contenu.md ;
   ordre de chargement : portfolios_content_element_sheets()). */

/* ==========================================================================
   18. Profil artistique : [data-casting-layout] (posé sur la section)
   « grid » = rendu historique (cartes en trois colonnes), non touché ici.
   ========================================================================== */

/* Index : fiche technique « clé · valeur », une ligne par caractéristique. */
#portfolio_page [data-casting-layout="index"] .casting-details {
    --cols: 1;
    --cols-md: 1;
    --cols-sm: 1;
    gap: 0;
}

#portfolio_page [data-casting-layout="index"] .casting-detail {
    display: grid;
    grid-template-columns: 12rem minmax(0, 1fr);
    gap: 0 calc(1rem * var(--pf-density-gap, 1));
    align-items: baseline;
    padding: calc(0.55rem * var(--pf-density-pad, 1)) 0;
}

#portfolio_page [data-casting-layout="index"] :is(.casting-detail-label, .casting-detail-summary) {
    margin: 0;
}

#portfolio_page [data-casting-layout="index"] .casting-block {
    padding-inline: 0;
}

@media (max-width: 1100px) {
    #portfolio_page [data-casting-layout="index"] .casting-detail {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Liste : une carte pleine largeur par caractéristique et par bloc, libellé à gauche. */
#portfolio_page [data-casting-layout="list"] .casting-details {
    --cols: 1;
    --cols-md: 1;
    --cols-sm: 1;
}

#portfolio_page [data-casting-layout="list"] :is(.casting-detail, .casting-block) {
    --layout-space-y-md: calc(1rem * var(--pf-density-pad, 1));
    display: grid;
    grid-template-columns: 14rem minmax(0, 1fr);
    gap: 0 calc(1.5rem * var(--pf-density-gap, 1));
    align-items: baseline;
}

#portfolio_page [data-casting-layout="list"] :is(.casting-detail-label, .casting-detail-summary, .casting-section-title) {
    margin: 0;
}

/* Texte seul : sans cartes, caractéristiques en lignes « libellé : valeur » séparées par des filets,
   blocs en simples paragraphes titrés. */
#portfolio_page [data-casting-layout="minimal"] .casting-details {
    --cols: 2;
    --cols-md: 2;
    --cols-sm: 1;
    gap: 0 calc(2.5rem * var(--pf-density-gap, 1));
}

/* Marges des cartes : .pf-pad-md (couche utilitaires, après les éléments) lit ces variables. Sans cadre : pas de
   marge latérale, le texte s'aligne sur le titre. Idem en Magazine et Journal. */
#portfolio_page [data-casting-layout]:is([data-casting-layout="minimal"], [data-casting-layout="magazine"], [data-casting-layout="journal"]) :is(.casting-detail, .casting-block) {
    --layout-space-x-md: 0px;
    --layout-space-y-md: calc(0.7rem * var(--pf-density-pad, 1));
    /* Filets droits : l'arrondi de .portfolios-border-radius-l (couche variables) lit ces variables. */
    --portfolios-border-radius-custom: 0px;
    --portfolios-border-radius-l: 0px;
}

#portfolio_page [data-casting-layout="minimal"] .casting-detail {
    display: flex;
    flex-direction: row; /* modules/casting/casting.css empile libellé et valeur */
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 0.5em;
    border-bottom: max(1px, var(--pf-rule-width)) solid var(--pf-rule-color);
}

#portfolio_page [data-casting-layout="minimal"] .casting-detail-label {
    width: auto;
    margin: 0;
}

#portfolio_page [data-casting-layout="minimal"] .casting-detail-label::after {
    content: " :";
}

#portfolio_page [data-casting-layout="minimal"] .casting-detail-summary {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin: 0;
}

/* Magazine : caractéristiques en 4 colonnes sous un filet d'encre, blocs côte à côte en 2 colonnes. */
#portfolio_page [data-casting-layout="magazine"] .casting-details {
    --cols: 4;
    --cols-lg: 4;
    --cols-md: 2;
    --cols-sm: 1;
    gap: calc(1.5rem * var(--pf-density-gap, 1)) calc(2rem * var(--pf-density-gap, 1));
}

#portfolio_page [data-casting-layout="magazine"] :is(.casting-detail, .casting-block) {
    border-top: max(2px, var(--pf-border-width)) solid var(--portfolios-thumbnail-contour-color, var(--pf-ink));
}

#portfolio_page [data-casting-layout="magazine"] .casting-detail-label {
    margin: 0 0 0.35rem;
    font-size: var(--portfolios-font-size-small, 0.875em);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

@media (min-width: 1101px) {
    #portfolio_page [data-casting-layout="magazine"] > article {
        display: flex;
        flex-wrap: wrap;
        column-gap: calc(2.5rem * var(--pf-density-gap, 1));
    }

    #portfolio_page [data-casting-layout="magazine"] > article > * {
        flex: 1 1 100%;
        min-width: 0;
    }

    #portfolio_page [data-casting-layout="magazine"] > article > .casting-block {
        flex-basis: calc(50% - 1.25rem * var(--pf-density-gap, 1));
    }
}

/* Journal : fiche de presse, libellés en petites capitales dans une colonne étroite, valeurs à droite. */
#portfolio_page [data-casting-layout="journal"] .casting-details {
    --cols: 1;
    --cols-md: 1;
    --cols-sm: 1;
    gap: 0;
}

#portfolio_page [data-casting-layout="journal"] :is(.casting-detail, .casting-block) {
    display: grid;
    grid-template-columns: 10rem minmax(0, 1fr);
    gap: 0 calc(1.5rem * var(--pf-density-gap, 1));
    align-items: baseline;
}

#portfolio_page [data-casting-layout="journal"] :is(.casting-detail-label, .casting-section-title) {
    margin: 0;
    font-size: var(--portfolios-font-size-small, 0.875em);
    font-variant-caps: all-small-caps;
    letter-spacing: 0.1em;
}

#portfolio_page [data-casting-layout="journal"] .casting-detail-summary {
    margin: 0;
}

@media (max-width: 1100px) {
    #portfolio_page [data-casting-layout]:is([data-casting-layout="list"], [data-casting-layout="journal"]) :is(.casting-detail, .casting-block) {
        grid-template-columns: minmax(0, 1fr);
        gap: calc(0.35rem * var(--pf-density-gap, 1));
    }
}
}
