:root {
    --ad-inline-max-width: min(100%, 1040px);
    --ad-inline-primary-height: clamp(180px, 24vw, 250px);
    --ad-inline-secondary-height: clamp(170px, 22vw, 220px);
    --ad-inline-gap: clamp(12px, 2vw, 20px);
}

.ad-inline-slot {
    display: none;
    width: 100%;
    max-width: var(--ad-inline-max-width);
    margin: var(--ad-inline-gap) auto;
    contain: layout paint style;
}

html[data-ads-enabled="true"] .ad-inline-slot {
    display: block;
}

.ad-inline-slot .ad-slot-inner {
    border: 1px solid #d7e3f2;
    border-radius: 14px;
    background: #f8fbff;
    padding: 8px;
    min-height: var(--ad-inline-primary-height);
    box-sizing: border-box;
}

.ad-inline-slot--secondary .ad-slot-inner {
    min-height: var(--ad-inline-secondary-height);
    background: #fbfdff;
}

.ad-slot-label {
    display: none;
    margin: 0 0 8px;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6b7280;
    font-weight: 600;
}

.ad-slot-frame {
    width: 100%;
    min-height: 120px;
    height: calc(var(--ad-inline-primary-height) - 48px);
    border-radius: 10px;
    border: 1px solid #dee7f3;
    overflow: hidden;
    background: linear-gradient(180deg, #f8fbff 0%, #eef3fa 100%);
}

.ad-inline-slot--secondary .ad-slot-frame {
    height: calc(var(--ad-inline-secondary-height) - 48px);
}

.ad-inline-slot--hidden {
    display: none !important;
}

/* Legacy side-rail ads are intentionally deprecated in favor of in-content slots. */
.ad-side-rail,
.ad-side-rail--left,
.ad-side-rail--right,
.ad-side-rail--inline,
.ad-side-rail--layout-hidden {
    display: none !important;
}

@media (max-width: 900px) {
    .ad-inline-slot {
        margin: 14px auto;
    }

    .ad-inline-slot .ad-slot-inner {
        padding: 7px;
    }

    .ad-slot-label {
        margin-bottom: 6px;
    }
}
