.ads-marker-layer {
    position: absolute;
    inset: 3px;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    object-fit: contain;
    z-index: 2;
    pointer-events: none;
}

.ads-sponsored-circle { position: relative; overflow: hidden; }
.ads-sponsored-circle > img:not(.ads-marker-layer) { opacity: .28; }
.ads-marker-disclosure {
    position: absolute;
    left: 50%;
    bottom: -14px;
    transform: translateX(-50%);
    z-index: 4;
    padding: 1px 4px;
    border-radius: 4px;
    color: #fff;
    background: rgba(0, 0, 0, .82);
    font-size: 7px;
    font-weight: 700;
    white-space: nowrap;
    pointer-events: none;
}

#ads-context-slot {
    position: relative;
    min-height: 0;
    margin: 0 20px 12px;
}
#ads-context-slot[hidden] { display: none !important; }
.ads-compact-button {
    width: 100%;
    min-height: 64px;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 7px 34px 7px 7px;
    border: 1px solid var(--outline, rgba(128,128,128,.25));
    border-radius: 13px;
    color: var(--on-surface, inherit);
    background: var(--surface-container, rgba(128,128,128,.08));
    text-align: left;
    cursor: pointer;
}
.ads-compact-button:hover { background: var(--surface-container-high, rgba(128,128,128,.14)); }
.ads-compact-image { width: 54px; height: 50px; object-fit: contain; border-radius: 9px; background: rgba(128,128,128,.1); }
.ads-compact-copy { min-width: 0; display: grid; gap: 1px; }
.ads-disclosure { color: var(--on-surface-dim, rgba(128,128,128,.9)); font-size: 10px; font-weight: 650; }
.ads-compact-headline { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.ads-compact-cta { color: var(--primary, #2679d8); font-size: 11px; font-weight: 700; }
.ads-compact-dismiss {
    position: absolute;
    top: 50%;
    right: 7px;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    color: var(--on-surface-dim, inherit);
    background: transparent;
    font-size: 20px;
    line-height: 1;
}

#station-card-container { position: relative; }
.ads-full-view {
    position: absolute;
    inset: 0;
    z-index: 20;
    min-height: 100%;
    max-height: min(78vh, 720px);
    display: flex;
    flex-direction: column;
    color: var(--on-surface, inherit);
    background: var(--surface, #fff);
    border-radius: inherit;
    overflow: hidden;
}
.ads-full-header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; padding: 18px 20px 12px; border-bottom: 1px solid var(--outline, rgba(128,128,128,.2)); }
.ads-full-header h2 { margin: 3px 0 0; font-size: 20px; line-height: 1.25; }
.ads-full-close { flex: 0 0 auto; width: 34px; height: 34px; border: 0; border-radius: 50%; color: inherit; background: rgba(128,128,128,.12); font-size: 24px; line-height: 1; }
.ads-full-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; touch-action: pan-y; padding: 16px 20px 24px; }
.ads-full-image { display: block; width: 100%; max-height: 320px; object-fit: contain; border-radius: 12px; background: rgba(128,128,128,.08); }
.ads-full-body { margin: 16px 0; white-space: pre-line; line-height: 1.6; }
.ads-full-terms { color: var(--on-surface-dim, rgba(128,128,128,.95)); font-size: 11px; line-height: 1.5; }
.ads-full-cta { width: 100%; min-height: 46px; margin-top: 14px; border: 0; border-radius: 11px; color: #fff; background: var(--primary, #1267b9); font-weight: 750; touch-action: manipulation; }

@media (prefers-reduced-motion: reduce) {
    .ads-compact-button, .ads-full-view { transition: none !important; animation: none !important; }
}
