/* The audio scheduler is a data node, not a visual one: it carries only the
   campaign JSON its module reads (advertising-delivery.js parses the child
   [data-ec-advertising-audio-config] script). It ships `hidden` while there
   are no campaigns, so it stayed out of layout for as long as none existed —
   and the moment a real audio campaign was published it dropped the attribute
   and became a laid-out child of whatever container it is mounted in. In the
   WebApp mini player that container is the .mw-mini CSS grid, so the empty
   node took the first grid cell: the cover/title button was pushed into the
   narrow trailing column (title clipped to 56px) and the three controls wrapped
   onto a second row, doubling the bar's height. It renders nothing in any
   state, so it never belongs in layout. */
[data-ec-advertising-audio]{display:none}
.ec-ad-slot{position:relative;display:grid;grid-template-columns:minmax(96px,28%) 1fr;gap:var(--rn-space-4,1rem);min-width:0;padding:var(--rn-space-4,1rem);border:1px solid var(--rn-theme-border);border-radius:var(--rn-radius-lg,1rem);background:var(--rn-theme-surface);color:var(--rn-theme-text);overflow:hidden}
.ec-ad-slot[hidden]{display:none!important}.ec-ad-slot>img{width:100%;height:100%;min-height:110px;object-fit:cover;border-radius:var(--rn-radius-md,.75rem)}
.ec-ad-slot__body{display:grid;align-content:center;gap:var(--rn-space-2,.5rem);min-width:0}.ec-ad-slot__body small{color:var(--rn-theme-text-soft);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.ec-ad-slot__body strong{font-size:clamp(1rem,3vw,1.4rem);line-height:1.2}.ec-ad-slot__body p{margin:0;color:var(--rn-theme-text-soft)}
.ec-ad-slot__body a{justify-self:start;display:inline-flex;align-items:center;min-height:44px;padding:.65rem 1rem;border-radius:999px;background:var(--rn-theme-primary);color:var(--rn-theme-primary-contrast);text-decoration:none;font-weight:700}
@media(max-width:520px){.ec-ad-slot{grid-template-columns:1fr}.ec-ad-slot>img{aspect-ratio:16/8}}
