/* ========================================
   Ad Zones - Polished & Non-Intrusive
   ======================================== */

/* Generic ad zone container */
[data-mv-ad-zone] {
    min-height: 60px;
    background: var(--bg);
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    padding: 0;
}

/* Remove background when ad is actually filled */
[data-mv-ad-zone].mv-ad-loaded {
    background: transparent;
}

/* Banner (top / between major sections) */
[data-mv-ad-zone="header"],
[data-mv-ad-zone="top_banner"],
[data-mv-ad-zone="between_listings"] {
    margin: 2rem auto;
    max-width: var(--max-width);
    width: calc(100% - 2rem);
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 1rem 0;
    min-height: auto;
    background: transparent;
}

/* Inline ad (inside listing grid / list) */
[data-mv-ad-zone="inline"] {
    margin: 1.5rem 0;
    border: 1px dashed var(--border);
    border-radius: var(--radius-lg);
    padding: 0.75rem;
    background: var(--surface);
}

/* Inline ad inside grid - span full width */
.listing-grid [data-mv-ad-zone="inline"] {
    grid-column: 1 / -1;
    margin: 0.75rem 0;
}

/* Inline ad inside list - full width */
.listing-list [data-mv-ad-zone="inline"] {
    margin: 0.75rem 0;
}

/* Inline badge label */
[data-mv-ad-zone="inline"]::before {
    content: 'Sponsored';
    position: absolute;
    top: -0.5rem;
    left: 0.75rem;
    background: var(--bg);
    padding: 0.1rem 0.5rem;
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: none;
}

[data-mv-ad-zone="inline"].mv-ad-loaded::before {
    display: block;
}

/* Sidebar */
[data-mv-ad-zone="sidebar"] {
    min-height: 250px;
    min-width: 100%;
    background: transparent;
    border: none;
    margin-bottom: 1rem;
}

/* Bottom banner */
[data-mv-ad-zone="footer"],
[data-mv-ad-zone="bottom_banner"] {
    margin: 2rem auto;
    border-top: 1px solid var(--border);
    padding: 1.5rem 0;
    min-height: auto;
    background: transparent;
}

/* Ad images - fluid fit */
.mv-ad-image,
.mv-ad-container img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: var(--radius);
    margin: 0 auto;
}

/* Ad link */
[data-mv-ad-zone] a {
    display: block;
    text-decoration: none;
}

/* Ad figure captions */
.mv-ad-container figcaption {
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    color: var(--text-muted);
}

/* ========================================
   Responsive
   ======================================== */

@media (max-width: 768px) {
    [data-mv-ad-zone="header"],
    [data-mv-ad-zone="top_banner"],
    [data-mv-ad-zone="footer"],
    [data-mv-ad-zone="bottom_banner"] {
        min-height: 60px;
        margin: 1rem auto;
        padding: 0.5rem 0;
    }

    [data-mv-ad-zone="sidebar"] {
        min-height: 200px;
        min-width: 100%;
    }

    [data-mv-ad-zone="inline"] {
        margin: 1rem 0;
        padding: 0.5rem;
    }
}
