/**
 * JSD Elli Downloadliste
 * Komponenten-CSS für ContentBlocks/ContentElements/downloadliste
 */

.elli-downloadlist {
  padding-block: var(--elli-downloadlist-padding-block, 1.125rem);
}

.elli-downloadlist__card {
  overflow: hidden;
  border-radius: var(--elli-downloadlist-radius, 0.875rem);
  box-shadow: var(--elli-downloadlist-shadow, 0 1.375rem 2.5rem rgba(32, 32, 32, 0.18));
  background: var(--elli-downloadlist-card-bg, #f2f2f2);
}

.elli-downloadlist--c-dark .elli-downloadlist__card {
  background: var(--elli-downloadlist-card-bg-dark, #f2f2f2);
}

.elli-downloadlist--c-action .elli-downloadlist__card {
  background: var(--elli-downloadlist-card-bg-action, #f3f3f3);
}

.elli-downloadlist--c-muted .elli-downloadlist__card {
  background: var(--elli-downloadlist-card-bg-muted, #f4f4f4);
}

.elli-downloadlist__inner {
  padding: var(--elli-downloadlist-inner-padding-y, 1.625rem) var(--elli-downloadlist-inner-padding-x, 1.375rem);
}

.elli-downloadlist__title {
  margin: 0 0 var(--elli-downloadlist-title-margin-bottom, 2.5rem) 0;
  color: var(--elli-downloadlist-title-color, #282828);
  font-weight: var(--elli-downloadlist-title-font-weight, 600);
  line-height: 1.2;
}

.elli-downloadlist__grid {
  margin-block: 0;
}

.elli-downloaditem {
  block-size: 100%;
  padding: var(--elli-downloaditem-padding, 1.125rem);
  border: 0.0625rem solid var(--elli-downloaditem-border-color, rgba(0, 0, 0, 0.08));
  border-radius: var(--elli-downloaditem-radius, 0.75rem);
  background: var(--elli-downloaditem-bg, #ffffff);
}

.elli-downloaditem__row {
  display: grid;
  grid-template-columns: var(--elli-downloaditem-icon-column, 3.5rem) minmax(0, 1fr);
  gap: var(--elli-downloaditem-gap, 1rem);
  align-items: start;
}

.elli-downloaditem__icon {
  display: grid;
  place-items: center;
  inline-size: var(--elli-downloaditem-icon-size, 3.5rem);
  block-size: var(--elli-downloaditem-icon-size, 3.5rem);
  border-radius: var(--elli-downloaditem-icon-radius, 0.875rem);
  color: var(--elli-downloadlist-accent-color, #424242);
  background: var(--elli-downloaditem-icon-bg, rgba(66, 66, 66, 0.10));
}

.elli-downloadlist--c-dark .elli-downloaditem__icon,
.elli-downloadlist--c-dark .elli-downloadlist__btn {
  color: #ffffff;
  background: var(--elli-downloadlist-tone-dark, #424242);
}

.elli-downloadlist--c-action .elli-downloaditem__icon,
.elli-downloadlist--c-action .elli-downloadlist__btn {
  color: #ffffff;
  background: var(--elli-downloadlist-tone-action, #7c7c7c);
}

.elli-downloadlist--c-muted .elli-downloaditem__icon,
.elli-downloadlist--c-muted .elli-downloadlist__btn {
  color: #ffffff;
  background: var(--elli-downloadlist-tone-muted, #676767);
}

.elli-downloaditem__icon-svg {
  display: block;
}

.elli-downloaditem__title {
  margin: 0 0 0.25rem 0;
  color: var(--elli-downloadlist-title-color, #282828);
  font-weight: var(--elli-downloaditem-title-font-weight, 700);
  line-height: 1.25;
}

.elli-downloaditem__desc {
  margin: 0 0 0.625rem 0;
  color: var(--elli-downloadlist-muted-color, #595959);
}

.elli-downloaditem__linkwrap {
  margin: 0;
}

.elli-downloaditem__link {
  display: inline-flex;
  align-items: center;
  gap: var(--elli-downloaditem-link-gap, 0.625rem);
  color: var(--elli-downloadlist-link-color, #424242);
  font-weight: var(--elli-downloaditem-link-font-weight, 700);
  text-decoration: none;
}

.elli-downloaditem__link:hover {
  color: var(--elli-downloadlist-link-hover-color, #121212);
}

.elli-downloaditem__linktext {
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
  text-decoration-thickness: 0.08em;
}

.elli-downloaditem__link:hover .elli-downloaditem__linktext {
  text-decoration-thickness: 0.125rem;
}

.elli-downloaditem__linkicon {
  display: inline-flex;
  flex: 0 0 auto;
}

.elli-downloaditem__meta {
  margin-inline-start: var(--elli-downloaditem-meta-margin-start, 0.375rem);
  font-weight: var(--elli-downloaditem-meta-font-weight, 700);
}

.elli-downloadlist__cta {
  display: flex;
  justify-content: center;
  margin-block-start: var(--elli-downloadlist-cta-margin-top, 1.125rem);
}

.elli-downloadlist__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  padding: var(--elli-downloadlist-button-padding-y, 0.85rem) var(--elli-downloadlist-button-padding-x, 1.35rem);
  border: 0;
  border-radius: var(--elli-downloadlist-button-radius, 0.625rem);
  box-shadow: var(--elli-downloadlist-button-shadow, 0 0.625rem 1rem rgba(0, 0, 0, 0.18));
  color: #ffffff;
  font-weight: var(--elli-downloadlist-button-font-weight, 700);
  text-decoration: none;
}

.elli-downloadlist__btn:hover {
  color: #ffffff;
  filter: brightness(0.96);
}

.elli-downloaditem__link:focus-visible,
.elli-downloadlist__btn:focus-visible {
  outline: var(--jsd-elli-focus-ring-width, 3px) solid var(--jsd-elli-focus-ring-color, #000000);
  outline-offset: var(--jsd-elli-focus-ring-offset, 0.1875rem);
  box-shadow: var(--jsd-elli-focus-ring-shadow, 0 0 0 3px #ffffff);
  border-radius: 0.5rem;
}

.elli-downloaditem:has(.elli-downloaditem__link:focus-visible) {
  box-shadow: 0 0 0 0.1875rem var(--elli-downloadlist-focus-container-color, #000000);
}

@media (min-width: 768px) {
  .elli-downloadlist__inner {
    padding: var(--elli-downloadlist-inner-padding-y-md, 2.125rem) var(--elli-downloadlist-inner-padding-x-md, 2.75rem);
  }
}

@media (min-width: 992px) {
  .elli-downloadlist__cta {
    justify-content: flex-end;
  }
}

@media (max-width: 575.98px) {
  .elli-downloaditem__row {
    grid-template-columns: 1fr;
  }

  .elli-downloaditem__icon {
    inline-size: var(--elli-downloaditem-icon-size-sm, 3rem);
    block-size: var(--elli-downloaditem-icon-size-sm, 3rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .elli-downloaditem__link,
  .elli-downloadlist__btn {
    transition: none !important;
  }
}