/**
 * Tiger AJAX Grid — Overlay preset.
 *
 * Full-bleed image card. Eyebrow + title sit over a bottom gradient at rest;
 * body text and button reveal on hover (or `.is-active` for keyboard/touch
 * focus, applied by the tiny accompanying JS). Best for portfolios, case
 * studies, product showcases.
 */

.tiger-ajax-grid-wrap--overlay .tiger-ajax-card {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    background: #0f172a;
    color: #fff;
    aspect-ratio: 4/5;
    isolation: isolate;
    box-shadow: 0 8px 24px rgba(15,23,42,0.18);
    transition: box-shadow .3s ease, transform .3s ease;
}
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card:hover,
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card.is-active {
    box-shadow: 0 24px 48px rgba(15,23,42,0.35);
    transform: translateY(-4px);
}

/* Image fills the whole card, no separate image area. */
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__image-wrap {
    position: absolute; inset: 0;
    z-index: 0;
}
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__image {
    width: 100%; height: 100%;
    aspect-ratio: auto !important;
    background: #1e293b;
}
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__image img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform .8s cubic-bezier(.22,.61,.36,1);
}
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card:hover .tiger-ajax-card__image img,
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card.is-active .tiger-ajax-card__image img {
    transform: scale(1.08);
}

/* Gradient wash. Sits above the image, below the text. */
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card::before {
    content: '';
    position: absolute; inset: 0;
    z-index: 1;
    background: linear-gradient(180deg,
        rgba(15,23,42,0.0)  0%,
        rgba(15,23,42,0.0) 35%,
        rgba(15,23,42,0.55) 70%,
        rgba(15,23,42,0.92) 100%);
    transition: background .3s ease;
    pointer-events: none;
}
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card:hover::before,
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card.is-active::before {
    background: linear-gradient(180deg,
        rgba(15,23,42,0.1)  0%,
        rgba(15,23,42,0.35) 35%,
        rgba(15,23,42,0.82) 70%,
        rgba(15,23,42,0.96) 100%);
}

.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__body {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    z-index: 2;
    padding: 22px 24px 22px;
    gap: 8px;
    color: #fff;
}

.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__eyebrow {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: #c7d2fe;
}

.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__title {
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
    margin: 2px 0 0;
    letter-spacing: -0.01em;
    text-shadow: 0 2px 10px rgba(0,0,0,0.35);
}
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__title a {
    color: inherit;
    text-decoration: none;
}

.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__meta {
    font-size: 12.5px;
    color: rgba(255,255,255,0.78);
}

/* Hover-reveal pieces: body text + button. Start hidden + offset; slide up
   and fade in when the card is hovered or .is-active. */
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__body-text,
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__btn {
    opacity: 0;
    max-height: 0;
    transform: translateY(8px);
    transition: opacity .35s ease, transform .35s ease, max-height .35s ease, margin-top .35s ease;
    overflow: hidden;
    margin-top: 0;
}
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card:hover .tiger-ajax-card__body-text,
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card.is-active .tiger-ajax-card__body-text {
    opacity: .9;
    max-height: 120px;
    margin-top: 6px;
    transform: translateY(0);
    font-size: 13.5px;
    line-height: 1.55;
    /* Limit so really long excerpts don't crowd the gradient. */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card:hover .tiger-ajax-card__btn,
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card.is-active .tiger-ajax-card__btn {
    opacity: 1;
    max-height: 40px;
    margin-top: 10px;
    transform: translateY(0);
}

.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__btn {
    align-self: flex-start;
    color: #fff;
    font-weight: 600;
    font-size: 13.5px;
    padding: 0;
    gap: 6px;
    text-decoration: none;
    border-bottom: 1px solid rgba(255,255,255,0.6);
    padding-bottom: 2px;
}
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__btn:hover {
    border-bottom-color: #fff;
}
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card__btn span {
    transition: transform .2s ease;
}
.tiger-ajax-grid-wrap--overlay .tiger-ajax-card:hover .tiger-ajax-card__btn span {
    transform: translateX(6px);
}
