/* Public Blog — MKS Design System v4.1.0 */

.bs {
  display: none !important;
}

.blog-listing,
.blog-success {
  box-sizing: border-box;
  width: var(--mks-container-width);
  max-width: var(--mks-max-width);
  margin: 0 auto;
  padding: calc(var(--mks-nav-height) + 2rem) var(--mks-container-padding) var(--mks-footer-margin);
}

.blog-listing *,
.blog-success * {
  box-sizing: border-box;
}

.blog-header {
  max-width: 48rem;
  margin-bottom: 2rem;
}

.blog-header h1,
.blog-header p,
.blog-item h2,
.blog-excerpt,
.blog-empty,
.blog-success h1,
.blog-success p {
  text-align: left;
}

.blog-header h1,
.blog-success h1 {
  margin: 0 0 0.75rem;
  color: var(--mks-text);
  font-size: var(--mks-font-size-h1);
  font-weight: var(--mks-font-weight-medium);
  line-height: var(--mks-line-height-tablet);
  letter-spacing: 0;
}

.blog-header p,
.blog-success p {
  margin: 0;
  padding: 0;
  color: var(--mks-gray-dark);
  font-size: var(--mks-font-size-body);
  font-weight: var(--mks-font-weight-normal);
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
  gap: 1.4rem;
}

.blog-item {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--mks-border-text);
  border-radius: var(--mks-border-radius);
  background: var(--mks-bg);
  box-shadow: var(--mks-shadow-light);
  transition: var(--mks-transition-fast);
}

.blog-item:hover {
  border-color: var(--mks-gray-medium);
  box-shadow: var(--mks-shadow-medium);
}

.blog-item a,
.blog-item a:hover {
  color: inherit;
  text-decoration: none;
}

.blog-item-image {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--mks-bg-light);
}

.blog-item-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--mks-transition-fast);
}

.blog-item:hover .blog-item-image img {
  transform: scale(1.02);
}

.blog-item-content {
  padding: 1.2rem;
}

.blog-category {
  display: inline-flex;
  align-items: center;
  min-height: 1.6rem;
  margin-bottom: 0.75rem;
  padding: 0 0.55rem;
  border: 1px solid var(--mks-border-text);
  border-radius: var(--mks-border-radius);
  background: var(--mks-bg-light);
  color: var(--mks-gray-dark);
  font-family: var(--mks-font);
  font-size: var(--mks-font-size-small);
  font-weight: var(--mks-font-weight-normal);
  text-decoration: none;
}

.blog-item h2 {
  display: -webkit-box;
  margin: 0 0 0.75rem;
  overflow: hidden;
  color: var(--mks-text);
  font-size: var(--mks-font-size-h4);
  font-weight: var(--mks-font-weight-medium);
  line-height: var(--mks-line-height);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.blog-info {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  margin-bottom: 1rem;
  color: var(--mks-gray-dark);
  font-size: var(--mks-font-size-small);
}

.blog-info-item {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  text-decoration: none;
}

.blog-info-item svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
}

.blog-excerpt {
  display: -webkit-box;
  margin: 0;
  padding: 0;
  overflow: hidden;
  color: var(--mks-gray-dark);
  font-size: var(--mks-font-size-small);
  line-height: var(--mks-line-height-mobile);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.blog-unpublished {
  opacity: 0.72;
}

.blog-unpublished::after {
  content: "Entwurf";
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 1;
  padding: 0.3rem 0.6rem;
  border-radius: var(--mks-border-radius);
  background: var(--mks-warning);
  color: var(--mks-bg);
  font-size: var(--mks-font-size-small);
  font-weight: var(--mks-font-weight-medium);
}

.blog-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mks-gray-medium);
}

.blog-empty,
.blog-success-card {
  max-width: 46rem;
  padding: 1.4rem;
  border: 1px solid var(--mks-border-text);
  border-left: 0.25rem solid var(--mks-primary);
  border-radius: var(--mks-border-radius);
  background: var(--mks-bg);
  box-shadow: var(--mks-shadow-light);
}

@media (max-width: 820px) {
  .blog-listing,
  .blog-success {
    width: var(--mks-container-width-mobile);
    padding-top: calc(var(--mks-nav-height-mobile) + 1.5rem);
  }

  .blog-header h1,
  .blog-success h1 {
    font-size: var(--mks-font-size-h1-mobile);
    line-height: var(--mks-line-height-mobile);
  }

  .blog-header p,
  .blog-success p {
    font-size: var(--mks-font-size-body-mobile);
    line-height: var(--mks-line-height-mobile);
  }
}
