/**
 * tcpromobanner - bannière promo dans la grille produits.
 *
 * Le bloc reste invisible tant que le script ne l'a pas placé : sans
 * JavaScript, la grille produits n'est pas altérée.
 */
.tcpb-host {
    display: none;
}

.tcpb-banner {
    display: none;
    box-sizing: border-box;
}

.tcpb-banner--placed {
    display: block;
    z-index: 2;
}

.tcpb-banner__inner {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.tcpb-banner__link {
    display: block;
    width: 100%;
    height: 100%;
}

.tcpb-banner__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Ajustement du visuel dans la zone réservée (cover par défaut). */
.tcpb-banner--fit-contain .tcpb-banner__img {
    object-fit: contain;
}

.tcpb-banner--fit-fill .tcpb-banner__img {
    object-fit: fill;
}

/* Une seule colonne : le visuel garde son ratio d'origine. */
.tcpb-banner--inflow .tcpb-banner__inner,
.tcpb-banner--inflow .tcpb-banner__link {
    height: auto;
}

.tcpb-banner--inflow .tcpb-banner__img {
    height: auto;
    object-fit: contain;
}

/* Cales : elles réservent des emplacements sans rien afficher. */
.tcpb-placeholder {
    display: block;
    box-sizing: border-box;
    flex: 0 0 auto;
    max-width: none;
    visibility: hidden;
    pointer-events: none;
}
