/* ==========================================================================
   TV Kikinda — paid placements (markup from the tvk-oglasi plugin).
   Neutral class names on purpose: "ad"/"banner" selectors are hidden by ad blockers.
   Image slots reserve their aspect ratio so nothing shifts when the creative loads.
   ========================================================================== */

/* ---------- Image slots ---------- */
.promo-slot {
  position: relative; width: min(var(--w-d, 970px), 100% - 2 * var(--gutter)); margin-inline: auto;
}
.promo-slot__link { display: block; border-radius: 8px; overflow: hidden; background: var(--surface-2); aspect-ratio: var(--ar-d, 970 / 250); box-shadow: var(--shadow-sm); transition: transform .35s var(--ease-out), box-shadow .35s; }
.promo-slot__link:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.promo-slot picture, .promo-slot img { display: block; width: 100%; height: 100%; object-fit: cover; }
.promo-slot__label {
  position: absolute; z-index: 2; top: 8px; right: 10px; padding: 4px 6px; border-radius: 3px; pointer-events: none;
  background: rgba(7, 7, 26, .55); color: #fff; font: 700 .62rem/1 var(--font-body); letter-spacing: .14em; text-transform: uppercase;
}
.promo-slot--zaglavlje { margin-top: 22px; }
.promo-slot--siroki-baner { margin-block: 8px clamp(40px, 6vw, 72px); }
.promo-slot--bocna-kolona { width: 300px; max-width: 100%; justify-self: center; }
.prose .promo-slot--u-tekstu { width: min(728px, 100%); margin: 2em auto; }
.prose .promo-slot--u-tekstu img { border-radius: 0; }

/* ---------- Sponsor marks ---------- */
.sponsor-mark { display: flex; align-items: center; gap: 10px; min-width: 0; }
.sponsor-mark__line { font-size: .76rem; font-weight: 600; letter-spacing: .02em; white-space: nowrap; }
.sponsor-mark__logo { display: inline-flex; align-items: center; flex: none; }
.sponsor-mark__logo img { width: auto; max-width: 140px; height: 28px; object-fit: contain; }
.sponsor-mark__name { font: 800 .9rem/1 var(--font-display); letter-spacing: .04em; }

.sponsor-mark--vesti-sponzor { flex: none; position: relative; z-index: 1; padding: 0 16px 0 14px; border-right: 1px solid var(--line); background: var(--surface); color: var(--muted); }
.sponsor-mark--vesti-sponzor img { height: 24px; max-width: 110px; }
.sponsor-mark--uzivo-sponzor { justify-content: space-between; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .1); color: rgba(255, 255, 255, .72); }
.player__bar .sponsor-mark--uzivo-sponzor { padding: 0; border: 0; margin-left: auto; margin-right: 12px; }
.sponsor-mark--uzivo-sponzor .sponsor-mark__logo, .sponsor-mark--prognoza-sponzor .sponsor-mark__logo { padding: 4px 8px; border-radius: 6px; background: #fff; }
.sponsor-mark--uzivo-sponzor img, .sponsor-mark--prognoza-sponzor img { height: 22px; }
.sponsor-mark--prognoza-sponzor { justify-content: space-between; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .14); color: #fff; }
.sponsor-mark--emisija-sponzor { color: rgba(255, 255, 255, .9); }
.sponsor-mark--emisija-sponzor .sponsor-mark__line { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.sponsor-mark--emisija-sponzor .sponsor-mark__logo { padding: 4px 8px; border-radius: 6px; background: #fff; }
.sponsor-mark--emisija-sponzor img { height: 20px; max-width: 110px; }
.show-hero .sponsor-mark--emisija-sponzor img { height: 30px; max-width: 160px; }

/* ---------- Sponsored article card ---------- */
.card--sponsored .card__media { position: relative; }
.card--sponsored .card__media:empty, .card--sponsored .card__media > .promo-slot__label:first-child { background: linear-gradient(135deg, #0e7c5a, #23b07d); }
.sponsored-flag { display: inline-flex; padding: 3px 7px; border-radius: 3px; background: var(--surface-2); font: 700 .66rem/1 var(--font-body); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); }
.paid-notice { padding: 12px 16px; border-left: 4px solid #16a34a; border-radius: 4px; background: var(--surface-2); font-size: .95rem; color: var(--ink-2); }

/* ---------- Partners strip (hidden automatically when there are no partners) ---------- */
.partners { padding-block: clamp(36px, 5vw, 56px); background: var(--surface); border-top: 1px solid var(--line); }
.partners__head { margin-bottom: 22px; text-align: center; }
.partners__title { font: italic 900 clamp(1.6rem, 1.1rem + 1.4vw, 2.3rem)/.95 var(--font-display); text-transform: uppercase; }
.partners__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.partners__grid > li { flex: 0 1 180px; }
.partners__logo { display: grid; place-items: center; height: 92px; padding: 14px; border-radius: 10px; background: var(--bg); border: 1px solid var(--line); filter: grayscale(1); opacity: .8; transition: filter .3s, opacity .3s, transform .35s var(--ease-out), border-color .3s; }
.partners__logo:hover, .partners__logo:focus-visible { filter: none; opacity: 1; transform: translateY(-3px); border-color: var(--orange); }
.partners__logo img { width: auto; max-width: 100%; height: 48px; object-fit: contain; }

/* ---------- Public price table [tvk_oglasni_prostor] ---------- */
.pricing { overflow-x: auto; }
.pricing table { width: 100%; border-collapse: collapse; }
.pricing th { text-align: left; font: 800 .78rem/1 var(--font-display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); padding: 10px 12px; border-bottom: 2px solid var(--line-strong); }
.pricing td { padding: 14px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
.pricing td small { color: var(--muted); }
.pricing__num { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--orange); color: var(--navy-950); font: 900 .85rem/1 var(--font-display); }
.pricing__price { font: 800 1.05rem/1.2 var(--font-display); white-space: nowrap; }
.pricing__note { margin-top: 12px; font-size: .85rem; color: var(--muted); }

@media (max-width: 760px) {
  .promo-slot { width: min(var(--w-m, 320px), 100% - 2 * var(--gutter)); }
  .promo-slot__link { aspect-ratio: var(--ar-m, 320 / 100); }
  .promo-slot--bocna-kolona { width: min(300px, 100%); }
  .sponsor-mark--vesti-sponzor { display: none; }
  .partners__grid > li { flex-basis: calc(50% - 6px); }
}
