.quinn-feature-cards {
    padding-top: var(--padding-top, 72px);
    padding-bottom: var(--padding-bottom, 72px);
}

.quinn-feature-cards__grid {
    display: grid;
    grid-template-columns: repeat(var(--cols-desktop, 3), 1fr);
    gap: var(--gap-desktop, 24px);
    align-items: stretch;
}

.quinn-feature-card {
    padding: var(--col-padding, 0);
    text-align: var(--content-align, left);
    display: flex;
    flex-direction: column;
    align-items: var(--content-align-items, flex-start);
    align-self: stretch;
    min-width: 0;
}

.quinn-feature-card .quinn-buttons {
    margin-top: auto;
}

.quinn-feature-card .quinn-buttons {
    margin-top: auto;
}

/* Content alignment — map text-align to flex align-items */
.quinn-feature-cards__grid[style*="--content-align: center"] .quinn-feature-card {
    align-items: center;
}

.quinn-feature-cards__grid[style*="--content-align: right"] .quinn-feature-card {
    align-items: flex-end;
}

/* Image inside card */
.quinn-feature-card figure,
.quinn-feature-card img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Min heading height for alignment across cards */
.quinn-feature-card h1,
.quinn-feature-card h2,
.quinn-feature-card h3,
.quinn-feature-card h4,
.quinn-feature-card h5,
.quinn-feature-card h6 {
    min-height: calc(var(--min-heading-rows, 0) * 1.3em);
}

/* Min paragraph height for alignment across cards */
.quinn-feature-card p {
    min-height: calc(var(--min-paragraph-rows, 0) * 1.6em);
}

/* Tablet */
@media (max-width: 1024px) {
    .quinn-feature-cards__grid {
        grid-template-columns: repeat(var(--cols-tablet, 2), 1fr);
    }

    .quinn-feature-card h1,
    .quinn-feature-card h2,
    .quinn-feature-card h3,
    .quinn-feature-card h4,
    .quinn-feature-card h5,
    .quinn-feature-card h6,
    .quinn-feature-card p {
        min-height: unset;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .quinn-feature-cards {
        padding-top: var(--padding-top-mobile, 48px);
        padding-bottom: var(--padding-bottom-mobile, 48px);
    }

    .quinn-feature-cards__grid {
        grid-template-columns: repeat(var(--cols-mobile, 1), 1fr);
        gap: var(--gap-mobile, 16px);
    }

    .quinn-feature-card {
        padding: var(--col-padding-mobile, var(--col-padding, 0));
    }
}
