/* at_placement — ADAPTATEURS des cibles du builder, au front et dans l'aperçu de l'éditeur.
   Les formules (colonnes, idéalement, grille, masqué) sont communes à toutes les cibles et
   vivent dans le noyau : attps-get-field/assets/css/atgf-placement.css, chargée avant
   celle-ci. Elles lisent `--atp-w` (poids effectif), `--atp-mw` (largeur mini) et `--atp-gap`
   (écart des colonnes), que cette feuille fait pointer sur les variables du builder.
   Cibles : assets/json/placement-targets.json (`element` : groupe ; `column` : ligne, lot 3).
   Audit : attps-get-field/docs/audit-at-placement.md. */

/* Alignement propre à l'élément : jamais hérité (audit 1.8). */
@property --atb-element-align { syntax: '*'; inherits: false; }

/* Variables du conteneur remises à zéro à chaque groupe, placé ou non (un groupe non
   réglé, imbriqué dans un groupe réglé, repart des défauts). */
.atb-group {
    --atp-keep: 0;
    --atp-tracks: initial;
    --atp-cols: initial;
    --atp-row: initial;
    --atp-n: initial;
    --atp-min: initial;
}

/* --- Cible `element` : .atb-group > .atb-element ------------------------------------- */
.atb-group.atp-host {
    --atp-gap: var(--atb-group-gap, 0rem);
}

.atb-group.atp-host > .atb-element {
    --atp-w: var(--atb-element-weight-eff, 6);
    --atp-mw: var(--atb-element-min-width, 250px);
}

/* --- Cible `column` : .atb-row > .atb-column (lot 3 : aucune ligne n'est encore placée) --- */
.atb-row.atp-host {
    --atp-gap: var(--atb-column-gap, 0rem);
}

.atb-row.atp-host > .atb-column {
    --atp-w: var(--atb-column-weight-eff, 6);
    --atp-mw: var(--atb-column-min-width, 250px);
}

/* --- Aperçu de l'éditeur : socle des conteneurs et des éléments -----------------------
   (au front, custom.css le fournit ; ici seule la disposition compte, pas la peau).
   Spécificité minimale (`:where`) : les règles de placement l'emportent. */
.lv-scene :where(.atb-group, .atb-row) {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
}

.lv-scene :where(.atb-group) {
    column-gap: var(--atb-group-gap, 0rem);
    row-gap: var(--atb-group-gap, 2rem);
    --atb-element-min-width: 250px;
}

.lv-scene :where(.atb-row) {
    column-gap: var(--atb-column-gap, 0rem);
    row-gap: var(--atb-columns-wrap-gap, 2rem);
    --atb-column-min-width: 250px;
}

.lv-scene :where(.atb-group > .atb-element) {
    --atb-element-weight-eff: var(--atb-element-weight, 6);
    align-self: var(--atb-element-align, auto);
    min-width: min(100%, var(--atb-element-min-width, 250px));
    max-width: 100%;
    box-sizing: border-box;
}

.lv-scene :where(.atb-row > .atb-column) {
    --atb-column-weight-eff: var(--atb-column-weight, 6);
    align-self: var(--atb-column-align, auto);
    min-width: min(100%, var(--atb-column-min-width, 250px));
    max-width: 100%;
    box-sizing: border-box;
}
