/* Ad units. Image-only creatives (no fallback text), mirroring how Adsense
   renders so the layout doesn't shift when an ad slot is empty. */

.ad-card {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #f8fafc;
    text-decoration: none;
    line-height: 0;
    transition: box-shadow .15s ease, transform .15s ease;
}

.ad-card:hover {
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .14);
    transform: translateY(-1px);
}

.ad-card img {
    width: 100%;
    height: auto;
    display: block;
}

.ad-card-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 2;
    background: rgba(15, 23, 42, .75);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
    line-height: 1.4;
}

/* Feed (home/timeline): full-width landscape on desktop, square on mobile.
   The image's natural ratio drives the height. */
.ad-card-feed {
    max-width: 100%;
}

/* Article variant — same as feed but used between article sections. */
.ad-card-article {
    max-width: 100%;
}

/* Sidebar — square aspect, fits the sidebar column width. */
.ad-card-sidebar {
    max-width: 100%;
}
