/* Shared sponsor treatment: cover the frame without inheriting article image margins. */
.ad-slot {
  background: #0b1220;
  border-color: rgba(96, 165, 250, .22);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.ad-slot:focus-visible {
  outline: 2px solid #93c5fd;
  outline-offset: 4px;
}
.ad-slot .ad-slot-label {
  color: #cbd5e1;
  font-weight: 500;
  line-height: 1.5;
}
.ad-slot p,
.ad-slot [class~="text-slate-300"] { color: #f1f5f9; }
/* Legacy article themes force this utility color with !important. */
.ad-slot p[class~="text-slate-500"] { color: #cbd5e1 !important; }
.ad-slot span[class*="text-blue-"] { color: #bfdbfe; font-weight: 500; }
.ad-slot:hover [class*="group-hover:text-blue-"] { color: #bfdbfe; }

.ad-slot.ad-slot-inline {
  position: relative;
  display: block;
  overflow: hidden;
  background: #0b1220 !important;
  text-decoration: none;
}
.ad-slot.ad-slot-inline > img,
.ad-slot.ad-slot-sidebar > div:first-child > img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
}
.ad-slot.ad-slot-inline > img {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.ad-slot.ad-slot-inline > img + div {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(100deg, rgba(3, 8, 20, .9) 0%, rgba(3, 8, 20, .82) 55%, rgba(3, 8, 20, .72) 100%);
}
.ad-slot.ad-slot-inline > div.relative {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 22px;
}
.ad-slot.ad-slot-inline p {
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.ad-slot.ad-slot-inline p + p {
  font-size: 12px;
  line-height: 1.65;
  font-weight: 400;
}
.ad-slot.ad-slot-inline > div.relative > span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  line-height: 1.5;
  white-space: nowrap;
}

.ad-slot.ad-slot-sidebar { gap: 0; }
.ad-slot.ad-slot-sidebar > div:first-child > div.absolute {
  background: linear-gradient(180deg, rgba(3, 8, 20, .64), rgba(3, 8, 20, .18) 65%, #0b1220);
}
.ad-slot.ad-slot-sidebar .ad-slot-label {
  padding: 3px 7px;
  border-radius: 5px;
  background: rgba(3, 8, 20, .82);
}

@media (max-width: 639px) {
  .ad-slot.ad-slot-inline > div.relative {
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    padding: 18px 16px;
  }
  .ad-slot.ad-slot-inline .ad-logo { width: 36px; height: 36px; }
  .ad-slot.ad-slot-inline > div.relative > span { grid-column: 2; }
}
