/* ==========================================================
   LAYOUT
========================================================== */

.layout-section {
    width: min(100% - 2rem, var(--container-md));
    margin-inline: auto;
}

.layout-wide {
    width: min(100% - 2rem, var(--container-lg));
    margin-inline: auto;
}

.layout-stack {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.layout-cluster {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    align-items: center;
}

.layout-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(1rem, 3vw, 3rem);
}

.layout-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(1rem, 3vw, 2rem);
    align-items: stretch;
}

.layout-grid-3,
.wp-block-columns.layout-grid-3 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(1rem, 3vw, 2rem);
}

.layout-grid-3 > *,
.wp-block-columns.layout-grid-3 > * {
    height: 100%;
    min-width: 0;
}

.layout-grid-3 .card,
.wp-block-columns.layout-grid-3 .card {
    height: 100%;
}

.layout-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(1rem, 3vw, 2rem);
}

.layout-section-spacing {
    padding-block: clamp(1.5rem, 3vw, 3rem);
}

.layout-section + .layout-section{
    margin-top:0;
}

.front-page-section {
    padding-block: clamp(2rem, 4vw, 4rem);
}

@media (max-width: 960px) {

    .layout-grid-2,
    .layout-grid-3,
    .layout-grid-4 {
        grid-template-columns: 1fr;
    }
}