/* Managed advertising slots */
.ad-slot {
  position: relative;
  width: min(970px, calc(100% - 40px));
  min-height: 110px;
  margin: 24px auto;
  padding: 24px;
  border: 1px dashed #527487;
  background: linear-gradient(145deg, #0a2b3d, #061f2f);
  color: #90a8b4;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.ad-slot .ad-label {
  position: absolute;
  top: 8px;
  left: 50%;
  margin: 0;
  transform: translateX(-50%);
  color: #7895a3;
  font-size: 9px;
  letter-spacing: 1.5px;
}
.ad-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
}
.ad-placeholder strong {
  color: #fff;
  font-size: 26px;
  line-height: 1;
  letter-spacing: 3px;
}
.ad-slot .ad-placeholder span {
  margin: 0;
  color: #bdd0d9;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
}
.ad-placeholder small { color: #7895a3; font-size: 10px; }
.ad-content { width: 100%; text-align: center; }
.ad-content > * { max-width: 100%; }
.ad-slot-ad-billboard,
.ad-slot-ad-sidebar { min-height: 250px; }
.sidebar .ad-slot { width: 100%; margin: 28px 0; }
@media (max-width: 900px) { .sidebar .ad-slot { grid-column: 1 / -1; } }
@media (max-width: 640px) {
  .ad-slot { width: min(100% - 28px, 970px); min-height: 100px; padding: 22px 12px; }
  .ad-slot-ad-billboard,
  .ad-slot-ad-sidebar { min-height: 180px; }
  .sidebar .ad-slot { width: 100%; }
}
