/* =============================================================
   Publicités — styles frontend
   ============================================================= */

.habari-ad-zone {
    display: block;
    width: 100%;
    overflow: hidden;
}

.habari-ad__link {
    display: block;
    line-height: 0; /* Supprime l'espace sous l'image */
}

.habari-ad__img {
    display: block;
    width: 100%;
    height: auto;
}

/* Portrait 3:4 — le conteneur force le ratio, l'image le remplit */
.habari-ad--portrait {
    aspect-ratio: 3 / 4;
}

.habari-ad--portrait .habari-ad__img {
    height: 100%;
    object-fit: cover;
}

/* Carré 1:1 */
.habari-ad--square {
    aspect-ratio: 1 / 1;
}

.habari-ad--square .habari-ad__img {
    height: 100%;
    object-fit: cover;
}

/* Paysage 3:1 */
.habari-ad--landscape {
    aspect-ratio: 3 / 1;
}

.habari-ad--landscape .habari-ad__img {
    height: 100%;
    object-fit: cover;
}

/* =============================================================
   Home Grid — Card publicitaire
   Hérite du flex-sizing de .habari-article-card (breakpoints.css)
   ============================================================= */

.habari-article-card--ad {
    position: relative;
}

/* L'image portrait remplit toute la largeur de la card */
.habari-article-card--ad .habari-ad-zone {
    width: 100%;
    border: 1px solid var(--habari-dark-off);
    overflow: hidden;
    height: calc(374px + 1.5rem); /* hauteur totale + 1.5rem supplémentaire */
}

.habari-article-card--ad .habari-ad-disclaimer {
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: var(--habari-dark-pale);
    line-height: 1.6;
}

.habari-article-card--ad .habari-ad__img {
    height: 100%; /* l'image remplit toute la hauteur de la zone */
    object-fit: cover;
}

/* Badge "Pub" — positionné en haut à droite de la card */
.habari-ad-badge {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 10;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 0;
    pointer-events: none;
    line-height: 1.6;
}
