/* ============================================================
   wfd-index.css
   Index page body content styles — 2026 redesign.

   Supplements windfire-global.css; does not replace it.
   The global nav, contextual nav, and footer are styled
   entirely by windfire-global.css and the SSI includes.
   Only the showcase grid below the contextual nav lives here.
   ============================================================ */

/* ── Main content wrapper ─────────────────────────────────── */
.index-main {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: var(--spacing-sm) var(--spacing-sm) var(--spacing-lg);
}

/* ── Shared card base ─────────────────────────────────────── */
.index-card {
    display: block;
    text-decoration: none;
    color: var(--primary-color);
    border-radius: var(--border-radius);
    overflow: hidden;
}

.index-card__img-wrap {
    overflow: hidden;
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    line-height: 0; /* removes inline gap below img */
}

.index-card__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

/* Hover/focus: image zooms gently */
.index-card:hover .index-card__img-wrap img,
.index-card:focus-visible .index-card__img-wrap img {
    transform: scale(1.03);
}

.index-card__caption {
    padding: 14px 2px 22px;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--primary-color);
    transition: color 0.2s ease;
}

.index-card:hover .index-card__caption,
.index-card:focus-visible .index-card__caption {
    color: var(--secondary-color);
}

/* ── Hero row: two full-width stacked cards ───────────────── */
.index-hero-row {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
}

.index-card--hero .index-card__img-wrap {
    height: 480px;
}

.index-card--hero .index-card__caption {
    font-size: 1.55rem;
}

/* ── 2-column grid: six cards ─────────────────────────────── */
.index-card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.index-card-grid .index-card__img-wrap {
    height: 340px;
}

/* ── Tablet (601–768px): shorten image heights slightly ───── */
@media screen and (min-width: 601px) and (max-width: 768px) {
    .index-card--hero .index-card__img-wrap {
        height: 360px;
    }

    .index-card--hero .index-card__caption {
        font-size: 1.35rem;
    }

    .index-card-grid .index-card__img-wrap {
        height: 260px;
    }
}

/* ── Mobile (≤600px): single column, compressed heights ───── */
@media screen and (max-width: 600px) {
    .index-main {
        padding: var(--spacing-xs) var(--spacing-xs) var(--spacing-md);
    }

    .index-hero-row {
        gap: 12px;
        margin-bottom: 12px;
    }

    .index-card--hero .index-card__img-wrap {
        height: 230px;
    }

    .index-card--hero .index-card__caption {
        font-size: 1.25rem;
    }

    .index-card-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .index-card-grid .index-card__img-wrap {
        height: 215px;
    }

    .index-card__caption {
        font-size: 1.05rem;
        padding: 10px 2px 14px;
    }
}
