/* Content Block: Infobox (jsd_elli)
   Scoped Styles: .elli-infobox
   Abhängigkeiten: Bootstrap Grid, globale JSD-Elli-Tokens
*/

.elli-infobox {
    padding-block: var(--elli-infobox-pad-block, 0.625rem);
}

.elli-infobox__wrap {
    padding: var(--elli-infobox-wrap-padding, 0.875rem);
    border-radius: var(--elli-infobox-radius, 0.75rem);
    background: var(--elli-infobox-bg, #f6f6f6);
}

.elli-infobox--neutral .elli-infobox__wrap {
    background: var(--elli-infobox-neutral-bg, #f6f6f6);
}

.elli-infobox--light .elli-infobox__wrap {
    background: var(--elli-infobox-light-bg, #f8f8f8);
}

.elli-infobox--dark .elli-infobox__wrap {
    background: var(--elli-infobox-dark-bg, #f0f0f0);
}

.elli-infobox--muted .elli-infobox__wrap {
    background: var(--elli-infobox-muted-bg, #f4f4f4);
}

.elli-infobox__media {
    display: flex;
    justify-content: flex-start;
    margin: 0;
}

.elli-infobox__img {
    inline-size: var(--elli-infobox-img-size-sm, 10rem);
    block-size: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: var(--elli-infobox-radius, 0.75rem);
    box-shadow: var(--elli-infobox-shadow, 0 1.125rem 2.5rem rgba(0, 0, 0, 0.14));
    background: #ffffff;
}

.elli-infobox__body {
    padding-inline: var(--elli-infobox-body-padding-x, 0.125rem);
}

.elli-infobox__title {
    margin: 0 0 var(--elli-infobox-title-margin-bottom, 0.375rem);
    color: var(--elli-infobox-title-color, var(--text));
    font-family: var(--font-display);
    font-size: var(--elli-infobox-title-size-sm, 1.05rem);
    font-weight: var(--fw-bold, 700);
    line-height: 1.25;
}

.elli-infobox--light .elli-infobox__title {
    color: var(--elli-infobox-light-accent, #7c7c7c);
}

.elli-infobox--dark .elli-infobox__title {
    color: var(--elli-infobox-dark-accent, #424242);
}

.elli-infobox--muted .elli-infobox__title {
    color: var(--elli-infobox-muted-accent, #7b7b7b);
}

.elli-infobox__titlelink {
    display: inline-block;
    color: inherit;
    text-decoration: none;
}

.elli-infobox__titlelink:hover .elli-infobox__title {
    color: var(--elli-infobox-link-hover, var(--link-hover));
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.18em;
}

.elli-infobox__titlelink:focus-visible,
.elli-infobox__link: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: var(--elli-infobox-link-radius, 0.5rem);
}

.elli-infobox__date {
    font-weight: var(--fw-bold, 700);
}

.elli-infobox__text {
    max-inline-size: var(--elli-infobox-measure, 70ch);
    color: var(--elli-infobox-text-color, var(--text));
}

.elli-infobox__text p {
    margin-block-end: 1rem;
}

.elli-infobox__text p:last-child {
    margin-block-end: 0;
}

.elli-infobox__text p strong {
    display: block;
    margin-block-start: 1rem;
    font-weight: var(--fw-bold, 700);
}

.elli-infobox__linkwrap {
    margin: 0.75rem 0 0;
}

.elli-infobox__link {
    color: var(--elli-infobox-link-color, var(--link));
    font-weight: var(--fw-bold, 700);
    text-decoration: underline;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.1875rem;
}

.elli-infobox__link:hover {
    color: var(--elli-infobox-link-hover, var(--link-hover));
    text-decoration-thickness: 0.125rem;
}

@media (prefers-reduced-motion: reduce) {
    .elli-infobox,
    .elli-infobox * {
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

@media (max-width: 575.98px) {
    .elli-infobox__img {
        inline-size: min(100%, var(--elli-infobox-img-size-sm, 10rem));
    }
}

@media (min-width: 576px) {
    .elli-infobox__wrap {
        padding: var(--elli-infobox-wrap-padding-sm, 1.125rem);
    }

    .elli-infobox__img {
        inline-size: var(--elli-infobox-img-size-md, 11.25rem);
    }

    .elli-infobox__title {
        font-size: var(--elli-infobox-title-size-md, 1.169rem);
    }
}

@media (min-width: 768px) {
    .elli-infobox__wrap {
        padding: var(--elli-infobox-wrap-padding-md-y, 1.375rem) var(--elli-infobox-wrap-padding-md-x, 1.5rem);
    }

    .elli-infobox__img {
        inline-size: var(--elli-infobox-img-size-lg, 12.5rem);
        margin-block: var(--elli-infobox-img-offset-md, -2.5rem);
    }
}

@media (max-width: 991.98px) {
    .elli-infobox__text a {
        line-height: 2.2;
    }
}

@media (max-width: 1900px) {
    .elli-infobox__body {
        margin-block-start: var(--elli-infobox-body-margin-top-wide, 2.1875rem);
    }
}