/* =========================
   DISTRITO EVENTS V2
   LAYOUT
========================= */


/* =========================
   CONTAINERS
========================= */

.container {
    width: min(
        calc(100% - (var(--page-padding-desktop) * 2)),
        var(--container-max)
    );

    min-width: 0;

    margin-inline: auto;
}


.container-content {
    width: min(
        calc(100% - (var(--page-padding-desktop) * 2)),
        var(--container-content)
    );

    min-width: 0;

    margin-inline: auto;
}


.container-text {
    width: min(
        calc(100% - (var(--page-padding-desktop) * 2)),
        var(--container-text)
    );

    min-width: 0;

    margin-inline: auto;
}


/* =========================
   SECCIONES
========================= */

.section {
    padding-block: var(--space-9);
}


.section--large {
    padding-block: var(--space-10);
}


.section--dark {
    background-color: var(--color-black);
    color: var(--color-white);
}


.section--soft-dark {
    background-color: var(--color-black-soft);
    color: var(--color-white);
}


.section--light {
    background-color: var(--color-cream);
    color: var(--color-black);
}


/* =========================
   BLOQUES DE TEXTO
========================= */

.section-heading {
    max-width: var(--container-text);
}


.section-heading--center {
    margin-inline: auto;

    text-align: center;
}


.eyebrow {
    display: inline-block;

    margin-bottom: var(--space-3);

    color: var(--color-champagne);

    font-size: var(--font-size-label);
    font-weight: 600;

    letter-spacing: 0.18em;
    text-transform: uppercase;
}


.section-title {
    margin-bottom: var(--space-4);

    font-size: var(--font-size-h2);
    line-height: var(--line-height-heading);
}


.section-copy {
    color: var(--color-gray-light);

    font-size: var(--font-size-body-lg);
    line-height: var(--line-height-body);
}


.section--light .section-copy {
    color: #5f5a53;
}


/* =========================
   GRIDS
========================= */

.grid {
    display: grid;

    min-width: 0;

    gap: var(--space-5);
}


.grid > * {
    min-width: 0;
}


.grid--2 {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}


.grid--3 {
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
}


.grid--4 {
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
}


/* =========================
   FLEX
========================= */

.flex {
    display: flex;

    min-width: 0;
}


.flex > * {
    min-width: 0;
}


.flex--center {
    align-items: center;
    justify-content: center;
}


.flex--between {
    align-items: center;
    justify-content: space-between;
}


/* =========================
   ESPACIADO UTILITARIO
========================= */

.mt-4 {
    margin-top: var(--space-4);
}


.mt-6 {
    margin-top: var(--space-6);
}


.mt-8 {
    margin-top: var(--space-8);
}