/* Standard content browse grid/list cards — corner actions + media placeholder (amCore design system) */
.am-fleet-grid-item {
    position: relative;
}

.am-browse-grid:not(.am-list-view) .am-fleet-grid-item__thumb .am-fleet-grid-item__actions-over-media,
.am-browse-grid:not(.am-list-view) .am-fleet-grid-item__thumb [class*="card__jr-list-buttons--corner"] {
    pointer-events: none;
    position: absolute;
    top: var(--am-space-2, 0.5rem);
    right: var(--am-space-2, 0.5rem);
    bottom: auto;
    left: auto;
    inset-inline-start: auto;
    inset-inline-end: var(--am-space-2, 0.5rem);
    inset-block-start: var(--am-space-2, 0.5rem);
    inset-block-end: auto;
    z-index: 3;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--am-space-1, 0.25rem);
}

.am-browse-grid:not(.am-list-view) .am-fleet-grid-item__thumb .am-fleet-grid-item__actions-over-media .block_config,
.am-browse-grid:not(.am-list-view) .am-fleet-grid-item__thumb .am-fleet-grid-item__actions-over-media a,
.am-browse-grid:not(.am-list-view) .am-fleet-grid-item__thumb .am-fleet-grid-item__actions-over-media button,
.am-browse-grid:not(.am-list-view) .am-fleet-grid-item__thumb [class*="card__jr-list-buttons--corner"] .block_config,
.am-browse-grid:not(.am-list-view) .am-fleet-grid-item__thumb [class*="card__jr-list-buttons--corner"] a,
.am-browse-grid:not(.am-list-view) .am-fleet-grid-item__thumb [class*="card__jr-list-buttons--corner"] button {
    pointer-events: auto;
}

.am-fleet-grid-item.am-card [class*="card__jr-list-buttons--corner"] .block_config {
    float: none;
    margin-left: 0;
    margin-inline-start: 0;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--am-space-1, 0.25rem);
}

.am-browse-grid:not(.am-list-view) .am-fleet-grid-item.am-module-card {
    display: flex;
    flex-direction: column;
    gap: var(--am-space-1, 0.25rem);
    padding: var(--am-space-2, 0.5rem) var(--am-space-3, 0.75rem);
}

.am-browse-grid:not(.am-list-view) .am-fleet-grid-item.am-card .am-fleet-grid-item__body,
.am-browse-grid:not(.am-list-view) .am-fleet-grid-item.am-card [class*="grid-item__body"] {
    padding: var(--am-space-1, 0.25rem) var(--am-space-2, 0.5rem) var(--am-space-2, 0.5rem);
    padding-inline-end: var(--am-space-2, 0.5rem);
    gap: var(--am-space-1, 0.25rem);
}

/* Grid mode — cards align to top so uneven text does not stretch row height */
.am-browse-grid:not(.am-list-view) {
    align-items: start;
}

.am-browse-grid:not(.am-list-view) .am-fleet-grid-item.am-module-card {
    align-self: start;
    height: auto;
}

/* List mode — square thumbnail */
.am-browse-grid.am-list-view .am-fleet-grid-item__thumb,
.am-browse-grid.am-list-view .am-fleet-grid-item__img,
.am-browse-grid.am-list-view .am-card__media.am-fleet-grid-item__thumb {
    flex: 0 0 clamp(100px, 18vw, 160px);
    width: clamp(100px, 18vw, 160px);
    max-width: clamp(100px, 18vw, 160px);
    aspect-ratio: 1 / 1;
    align-self: flex-start;
}

.am-browse-grid.am-list-view .am-fleet-grid-item__thumb--placeholder {
    aspect-ratio: 1 / 1;
}

.am-browse-grid.am-list-view .am-fleet-grid-item__thumb img,
.am-browse-grid.am-list-view .am-fleet-grid-item__thumb .am-fleet-grid-item__img {
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
    object-fit: cover;
    aspect-ratio: unset;
}

.am-fleet-grid-item__thumb {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.am-fleet-grid-item__thumb--placeholder {
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    aspect-ratio: 16 / 9;
    min-height: 0;
    background: transparent;
}

.am-fleet-grid-item__media-link {
    display: block;
    width: 100%;
    height: 100%;
}

.am-fleet-grid-item__placeholder {
    width: 100%;
    height: 100%;
    min-height: inherit;
    aspect-ratio: inherit;
}

.am-browse-grid:not(.am-list-view) .am-fleet-grid-item__thumb .am-fleet-grid-item__media-link {
    position: absolute;
    inset: 0;
}

.am-browse-grid:not(.am-list-view) .am-fleet-grid-item__thumb .am-fleet-grid-item__img,
.am-browse-grid:not(.am-list-view) .am-fleet-grid-item__thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    max-height: none;
}

/* Reduced width — clamp grid card text so cards stay compact vertically */
@media screen and (max-width: 1280px) {
    .am-browse-grid:not(.am-list-view) .am-fleet-grid-item__body,
    .am-browse-grid:not(.am-list-view) [class*="grid-item__body"] {
        min-width: 0;
        overflow: hidden;
    }

    .am-browse-grid:not(.am-list-view) [class*="grid-item__title"],
    .am-browse-grid:not(.am-list-view) [class*="grid-item__title"] a {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        text-overflow: ellipsis;
        word-break: break-word;
    }

    .am-browse-grid:not(.am-list-view) [class*="grid-item__excerpt"] {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        margin: 0;
    }

    .am-browse-grid:not(.am-list-view) [class*="browse-item__author"],
    .am-browse-grid:not(.am-list-view) [class*="browse-item__date"] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        margin: 0;
    }

    .am-browse-grid:not(.am-list-view) [class*="browse-item__info-tabs"] {
        display: flex;
        flex-wrap: nowrap;
        overflow: hidden;
        gap: var(--am-space-1, 0.25rem);
        max-width: 100%;
    }

    .am-browse-grid:not(.am-list-view) [class*="browse-item__info-tabs"] .am-badge,
    .am-browse-grid:not(.am-list-view) [class*="browse-item__info-tabs"] [class*="category-chip"] {
        flex-shrink: 1;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* List mode stays horizontal with square thumb on small screens */
@media screen and (max-width: 640px) {
    .am-browse-grid.am-list-view .am-fleet-grid-item.am-card {
        flex-direction: row;
        align-items: flex-start;
    }

    .am-browse-grid.am-list-view .am-fleet-grid-item__thumb,
    .am-browse-grid.am-list-view .am-card__media.am-fleet-grid-item__thumb {
        flex: 0 0 clamp(88px, 22vw, 120px);
        width: clamp(88px, 22vw, 120px);
        max-width: clamp(88px, 22vw, 120px);
        aspect-ratio: 1 / 1;
    }
}
