/* Directly-sold ad slots (decision #10). Three hard rules (spec §6):
   height is reserved before the image loads (zero layout shift), a small
   AD label marks paid space, and slots collapse entirely when unsold —
   the templates render nothing, so there is no "your ad here" state. */
.ad-slot{position:relative;display:block}
.ad-slot .ad-label{position:absolute;top:6px;left:8px;z-index:2;
  font-weight:700;font-size:8px;letter-spacing:.12em;color:#fff;
  background:rgba(0,0,0,.45);padding:2px 5px;border-radius:2px;pointer-events:none}
.ad-slot a{display:block;height:100%}
.ad-slot img{width:100%;height:100%;object-fit:cover}

/* Exclusive home banner: leaderboard under the hero (~100px / ~120px cap) */
.ad-slot--home{height:100px}

/* Movie-page rotation slot: after showtimes, reserved height */
.ad-slot--rotation{height:90px;margin-top:22px}

/* Sitewide footer strip: on a surface band above the black footer */
.ad-strip{border-top:1px solid var(--line);background:var(--surface);
  padding:12px 16px;display:flex;justify-content:center}
.ad-strip .ad-slot{height:80px;width:100%;max-width:728px}

@media (min-width:720px){
  .ad-slot--home{height:120px}
  .ad-slot--rotation{height:120px;margin-top:32px}
  .ad-strip{padding:16px 48px}
  .ad-strip .ad-slot{height:90px;width:728px}
}
