.lgb-download-list {
    color: inherit;
}

.lgb-download__items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lgb-download__folders--nested {
    display: grid;
    gap: var(--lgb-download-folder-gap, 1.25em);
    margin-inline-start: var(--lgb-download-folder-indent, 1.25em);
    padding-inline-start: var(--lgb-download-folder-indent, 1.25em);
    border-inline-start: var(--lgb-download-folder-border, 1px solid color-mix(in srgb, currentColor 12%, transparent));
}

.lgb-download__folder {
    margin-block: var(--lgb-download-folder-margin, 1.75em);
}

.lgb-download__folder-content {
    padding-block-start: var(--lgb-download-content-gap, 0);
}

.lgb-download__items--grid {
    display: grid;
    grid-template-columns: repeat(var(--lgb-download-columns, 3), minmax(0, 1fr));
    gap: var(--lgb-download-card-gap, 1em);
}

.lgb-download__items--columns-1 {
    --lgb-download-columns: 1;
}

.lgb-download__items--columns-2 {
    --lgb-download-columns: 2;
}

.lgb-download__items--columns-3 {
    --lgb-download-columns: 3;
}

.lgb-download__items--columns-4 {
    --lgb-download-columns: 4;
}

.lgb-download__items--columns-5 {
    --lgb-download-columns: 5;
}

.lgb-download__items--columns-6 {
    --lgb-download-columns: 6;
}

.lgb-download__items--list {
    display: grid;
    gap: var(--lgb-download-card-gap, 1em);
}

.lgb-download__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    color: var(--lgb-download-card-color, var(--ast-global-color-3, inherit));
    background: var(--lgb-download-card-background, var(--wp--preset--color--base, Canvas));
    border: var(--lgb-download-card-border, 1px solid color-mix(in srgb, currentColor 14%, transparent));
    border-radius: var(--lgb-download-card-radius, 0.75rem);
    box-shadow: var(--lgb-download-card-shadow, 0 2px 10px color-mix(in srgb, currentColor 7%, transparent));
}

.lgb-download__card-main {
    display: flex;
    align-items: flex-start;
    gap: var(--lgb-download-icon-gap, 1.25rem);
    padding: var(--lgb-download-card-padding, var(--lgb-download-card-padding-size, 22px));
}

.lgb-download__card-main--icon-top {
    flex-direction: column;
}

.lgb-download__card-content {
    min-width: 0;
    flex: 1 1 auto;
}

.lgb-download__title {
    margin: 0 0 var(--lgb-download-title-gap, 0.65rem);
    font-size: var(--lgb-download-title-font-size, var(--lgb-download-title-size, 16px));
    font-weight: var(--lgb-download-title-font-weight, 600);
    line-height: 1.4;
}

.lgb-download__file-icon {
    position: relative;
    display: flex;
    flex: 0 0 calc(var(--lgb-download-icon-size, 48px) * 0.78);
    flex-direction: column;
    justify-content: flex-end;
    width: calc(var(--lgb-download-icon-size, 48px) * 0.78);
    height: var(--lgb-download-icon-size, 48px);
    overflow: hidden;
    color: var(--lgb-download-file-icon-color, #526170);
    background: var(--lgb-download-file-icon-background, #f0efe8);
    clip-path: polygon(0 0, calc(100% - 0.55rem) 0, 100% 0.55rem, 100% 100%, 0 100%);
    font-size: 0.65rem;
    line-height: 1;
}

.lgb-download__file-icon::before {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    width: 0.55rem;
    height: 0.55rem;
    background: color-mix(in srgb, currentColor 12%, transparent);
    content: "";
}

.lgb-download__file-icon-graphic {
    box-sizing: border-box;
    display: block;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    padding: 0.3rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2;
}

.lgb-download__file-icon-label {
    display: block;
    padding: 0.22rem 0.1rem;
    color: var(--lgb-download-file-icon-label-color, #fff);
    background: var(--lgb-download-file-icon-label-background, #84b8df);
    font-size: 0.58rem;
    font-weight: 700;
    text-align: center;
}

.lgb-download__file-icon--archive {
    --lgb-download-file-icon-color: #8a5a12;
    --lgb-download-file-icon-background: #fff7e8;
    --lgb-download-file-icon-label-background: #a96b0c;
}

.lgb-download__file-icon--7z {
    --lgb-download-file-icon-color: #7443a8;
    --lgb-download-file-icon-background: #f5effb;
    --lgb-download-file-icon-label-background: #7443a8;
}

.lgb-download__file-icon--audio {
    --lgb-download-file-icon-color: #7043a8;
    --lgb-download-file-icon-background: #f5effb;
    --lgb-download-file-icon-label-background: #7043a8;
}

.lgb-download__file-icon--code {
    --lgb-download-file-icon-color: #245c8e;
    --lgb-download-file-icon-background: #edf5fc;
    --lgb-download-file-icon-label-background: #245c8e;
}

.lgb-download__file-icon--document {
    --lgb-download-file-icon-color: #526170;
    --lgb-download-file-icon-background: #f0efe8;
    --lgb-download-file-icon-label-background: #526170;
}

.lgb-download__file-icon--image {
    --lgb-download-file-icon-color: #28764a;
    --lgb-download-file-icon-background: #edf7f0;
    --lgb-download-file-icon-label-background: #28764a;
}

.lgb-download__file-icon--pdf {
    --lgb-download-file-icon-color: #a62d28;
    --lgb-download-file-icon-background: #fdf0ef;
    --lgb-download-file-icon-label-background: #a62d28;
}

.lgb-download__file-icon--presentation {
    --lgb-download-file-icon-color: #a34a20;
    --lgb-download-file-icon-background: #fff2eb;
    --lgb-download-file-icon-label-background: #a34a20;
}

.lgb-download__file-icon--spreadsheet {
    --lgb-download-file-icon-color: #23734a;
    --lgb-download-file-icon-background: #edf7f0;
    --lgb-download-file-icon-label-background: #23734a;
}

.lgb-download__file-icon--video {
    --lgb-download-file-icon-color: #285a9b;
    --lgb-download-file-icon-background: #edf3fc;
    --lgb-download-file-icon-label-background: #285a9b;
}

.lgb-download__version {
    margin: 0 0 var(--lgb-download-text-gap, 0.75em);
    opacity: 0.86;
}

.lgb-download__description {
    margin: 0 0 var(--lgb-download-text-gap, 1em);
    opacity: 0.9;
}

.lgb-download__actions {
    margin-block-start: var(--lgb-download-action-gap, 1.15rem);
}

.lgb-download__footer-action {
    justify-self: center;
}

.lgb-download__footer-action .lgb-download__actions {
    margin-block-start: 0;
}

.lgb-download-list .lgb-download__button {
    border-radius: var(--lgb-download-button-radius, 999px);
    background-color: var(
        --lgb-download-button-background,
        var(--ast-global-color-0, var(--wp--preset--color--primary, #1776bb))
    );
    color: var(--lgb-download-button-color, #fff);
    padding: var(--lgb-download-button-padding, 0.65em 1.15em);
    font-size: var(--lgb-download-button-size, 16px);
}

.lgb-download-list .lgb-download__button.is-locked,
.lgb-download-list .lgb-download__button:disabled {
    background-color: var(
        --lgb-download-button-disabled-background,
        color-mix(in srgb, currentColor 28%, var(--ast-global-color-5, #e5e5e5))
    );
    color: var(--lgb-download-button-disabled-color, var(--ast-global-color-3, #555));
    cursor: not-allowed;
    filter: grayscale(1);
    opacity: var(--lgb-download-button-disabled-opacity, 0.72);
}

.lgb-download__password-form {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: var(--lgb-download-form-gap, 0.5em);
}

.lgb-download__password-form label {
    flex-basis: 100%;
}

.lgb-download__card-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: var(--lgb-download-card-footer-gap, 1rem);
    min-height: 4rem;
    margin-block-start: auto;
    padding: var(--lgb-download-card-footer-padding, 0.9rem 1.25rem);
    border-block-start: var(
        --lgb-download-card-footer-border,
        1px solid color-mix(in srgb, currentColor 10%, transparent)
    );
    background: var(
        --lgb-download-card-footer-background,
        color-mix(in srgb, currentColor 3%, transparent)
    );
}

.lgb-download__footer-size {
    justify-self: start;
}

.lgb-download__footer-count {
    justify-self: end;
    text-align: end;
}

.lgb-download__size,
.lgb-download__download-count {
    margin: 0;
    opacity: 0.86;
}

.lgb-download__footer-action .lgb-download__password-form {
    justify-content: center;
}

.lgb-download__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--lgb-download-pagination-gap, 0.5em);
    width: 100%;
    margin-block-start: var(--lgb-download-pagination-gap, 1em);
    text-align: center;
}

.lgb-download__pagination-group,
.lgb-download__pagination-pages {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--lgb-download-pagination-item-gap, 0.25em);
}

.lgb-download__pagination-label,
.lgb-download__page-link--text {
    white-space: nowrap;
}

.lgb-download__page-link {
    display: inline-flex;
    min-width: 2em;
    min-height: 2em;
    align-items: center;
    justify-content: center;
    padding: 0.25em 0.4em;
    color: inherit;
    line-height: 1;
    text-decoration: none;
}

.lgb-download__page-link.is-current {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.lgb-download__page-link.is-disabled {
    opacity: 0.45;
}

.lgb-download__page-ellipsis {
    min-width: 1em;
}

.lgb-download__page-link:focus-visible,
.lgb-download__password-form input:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.lgb-download__empty,
.lgb-download__notice {
    margin-block: 0.75em;
}

/*
 * Popups übernehmen Typografie, Farben und Karten-Variablen des Themes (Astra: --ast-global-color-*)
 * und lassen sich über --lgb-download-dialog-* gezielt überschreiben. Buttons erhalten die
 * Theme-Button-Klassen (z. B. ast-button) und folgen damit dem Customizer.
 */
.lgb-consent-dialog,
.lgb-lock-dialog,
.lgb-pow-dialog {
    width: min(36rem, calc(100vw - 2rem));
    padding: var(--lgb-download-dialog-padding, 1.5rem);
    border: var(
        --lgb-download-dialog-border,
        var(--lgb-download-card-border, 1px solid color-mix(in srgb, currentColor 14%, transparent))
    );
    border-radius: var(--lgb-download-dialog-radius, var(--lgb-download-card-radius, 0.75rem));
    background: var(
        --lgb-download-dialog-background,
        var(--lgb-download-card-background, var(--ast-global-color-5, var(--wp--preset--color--base, Canvas)))
    );
    color: var(--lgb-download-dialog-color, var(--lgb-download-card-color, var(--ast-global-color-3, inherit)));
    box-shadow: var(--lgb-download-dialog-shadow, 0 12px 40px color-mix(in srgb, currentColor 22%, transparent));
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

.lgb-consent-dialog::backdrop,
.lgb-lock-dialog::backdrop,
.lgb-pow-dialog::backdrop {
    background: var(--lgb-download-dialog-backdrop, rgb(0 0 0 / 55%));
}

.lgb-lock-dialog__message,
.lgb-pow-dialog__message {
    margin-block: 0;
}

.lgb-pow-dialog__progress {
    display: block;
    width: 100%;
    margin-block: 1em 0;
    accent-color: var(--lgb-download-button-background, var(--ast-global-color-0, currentColor));
}

.lgb-pow-dialog__error {
    margin-block: 0.75em 0;
    color: #b32d2e;
}

.lgb-consent-dialog__title,
.lgb-lock-dialog__title,
.lgb-pow-dialog__title {
    margin-block: 0 0.75em;
}

.lgb-consent-dialog__check {
    display: flex;
    align-items: flex-start;
    gap: 0.5em;
}

.lgb-consent-dialog__check input {
    margin-block-start: 0.25em;
}

.lgb-consent-dialog__error {
    color: #b32d2e;
}

.lgb-consent-dialog__actions,
.lgb-lock-dialog__actions,
.lgb-pow-dialog__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75em;
    margin-block-start: 1em;
}

.lgb-consent-dialog__accept:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

@media (max-width: 800px) {
    .lgb-download__items--columns-3,
    .lgb-download__items--columns-4,
    .lgb-download__items--columns-5,
    .lgb-download__items--columns-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 540px) {
    .lgb-download__items--grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
