/* ═══════════════════════════════════════════════════════════════════
   JIP Venues Grid
   Widget: jip_venues_grid
   Designed to sit inside a dark-bg container (green).
   @since 1.5.0
   ═══════════════════════════════════════════════════════════════════ */

.jip-vg {
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-pad);
}


/* Title + subtitle take 50% width on desktop */

.jip-vg__title {
    color: var(--jip-accent-normal, var(--jip-accent-normal)) !important;
    font-size: var(--jip-headline-xs) !important;
    margin: 0 0 8px;
    max-width: 50%;
}

.jip-vg__subtitle {
    color: var(--jip-secondary-normal) !important;
    margin: 0 0 3rem !important;
    max-width: 50%;
}

.jip-vg__grid {
    display: grid;
    grid-template-columns: repeat(var(--jip-vg-cols, 4), 1fr);
    gap: 5rem;
}

.jip-vg__card {
    text-decoration: none;
    display: block;
}

a.jip-vg__card:hover .jip-vg__name {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.jip-vg__name {
    color: var(--jip-text-white) !important;
    margin: 0 0 8px;
}

.jip-vg__desc {
    color: var(--jip-text-white) !important;
    font-size: var(--jip-paragraph-s);
    margin: 0;
}


/* ── Responsive ── */

@media (max-width: 1024px) {
    .jip-vg__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 3rem;
    }
    .jip-vg__title,
    .jip-vg__subtitle {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .jip-vg__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}