/* frontend minimal styles (same as shortcode) */

.gcg-grid {
    display: grid;
    gap: 1rem
}

.gcg-card {
    border: 1px solid #eee;
    padding: .8rem;
    background: #fff
}

/* Make grid rows equal height and stretch items */

.gcg-grid-wrapper {
    display: grid;
    gap: 1rem;
    align-items: stretch;
}

.gcg-grid-wrapper>a,
.speaker-archive-grid.shortcode>a {
    display: block;
    height: 100%;
}

.speaker-card {
    height: 100%;
}

/* Ensure equal inner layout and consistent footer alignment inside generator grid */

.gcg-grid-wrapper .speaker-card .speaker-content {
    display: flex;
    flex-direction: column;
    height: auto;
    position: static;
    /* override theme absolute footer layout */
}

.gcg-grid-wrapper .speaker-card .card-footer {
    position: static;
    /* let footer take space and be pushed to bottom */
    margin-top: auto;
    padding-top: .5rem;
}


.gcg-preset-team .speaker-card .card-footer {
    padding: 0px;
}

.speaker-archive-grid.shortcode.small .speaker-card .speaker-content {
    padding: 20px;
}





.speaker-archive-grid.shortcode.small.two{
    grid-template-columns: repeat(2, minmax(140px, 1fr));
}


.speaker-archive-grid.shortcode.small.three {
    grid-template-columns: repeat(3, minmax(140px, 1fr));
}

.speaker-archive-grid.shortcode.small.four {
    grid-template-columns: repeat(4, minmax(140px, 1fr));
}

.speaker-archive-grid.shortcode.small.five {
    grid-template-columns: repeat(5, minmax(140px, 1fr));
}



.gca-accordion-panel >.speaker-archive-grid.shortcode.small.five {
    grid-template-columns: repeat(5, minmax(100px, 1fr));
}


.speaker-archive-grid.shortcode.small .card-footer,
.speaker-archive-grid.shortcode.small .speaker-excerpt {
    display: none;
}

.speaker-archive-grid.shortcode.small .speaker-jobtitle {
    display: none;
}

.speaker-archive-grid.shortcode.small .speaker-card {
    display: block;
    min-height: 200px;
    height: auto;
}

/* If only one person selected: force a two-column grid so one empty column stays beside */
.speaker-archive-grid.shortcode.has-1 {
    grid-template-columns: repeat(2, minmax(386px, 1fr));
}
.speaker-archive-grid.shortcode.small.has-1 {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
}

/* Team/Speaker (not small): use an outer alignfull wrapper and cap inner width */

.gcg-grid-alignfull.alignfull {
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    box-sizing: border-box;
}

.gcg-grid-alignfull.alignfull .speaker-archive-grid.shortcode.one,
.gcg-grid-alignfull.alignfull .speaker-archive-grid.shortcode.two,
.gcg-grid-alignfull.alignfull .speaker-archive-grid.shortcode.three {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
}

/* Ensure full-bleed works inside entry-content wrappers */
.entry-content .gcg-grid-alignfull.alignfull {
    overflow: visible;
}
