/* Padel Royale sections: shared IFR type/spacing tokens, explicit page-scoped layout. */
.royale-page .royale-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
    align-items: end;
    gap: var(--layout-gap);
    margin-bottom: var(--heading-gap);
}

.royale-page .royale-section-heading--overview {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    align-items: center;
    margin-bottom: var(--cup-block-gap);
}

.royale-page .royale-section-heading > *,
.royale-page .royale-feature-list article > div {
    min-width: 0;
}

.royale-page .royale-heading {
    margin: 0;
    font-size: var(--type-section);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -.045em;
    color: var(--navy);
}

.royale-page .royale-heading-muted {
    color: #747b88;
}

.royale-page .royale-section-intro {
    max-width: 400px;
    justify-self: end;
    margin: 0;
    color: var(--cup-muted);
}

.royale-page .royale-overview-copy {
    display: grid;
    gap: var(--space-sm);
}

.royale-page .royale-overview-copy > p {
    max-width: 60ch;
    margin: 0;
    color: var(--cup-muted);
}

.royale-page .royale-overview-copy > .text-button {
    justify-self: start;
    min-height: 44px;
    margin: 0;
    padding: 10px 0;
}

.royale-page .royale-feature-list {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: var(--layout-gap);
}

.royale-page .royale-feature-list article {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 24px 0 0;
    border-top: 1px solid var(--cup-line);
}

@media (max-width: 900px) {
    .royale-page .royale-section-heading {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-md);
    }

    .royale-page .royale-section-intro {
        max-width: 720px;
        justify-self: start;
    }

    .royale-page .royale-feature-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .royale-page .royale-feature-list article {
        padding-block: 24px;
    }

    .royale-page .royale-feature-list article:first-child {
        padding-top: 0;
        border-top: 0;
    }

    .royale-page .royale-feature-list article:last-child {
        padding-bottom: 0;
    }
}

@media (max-width: 640px) {
    .royale-page .royale-section-heading {
        margin-bottom: 32px;
    }

    .royale-page .royale-section-heading--overview {
        gap: var(--cup-block-gap);
        margin-bottom: var(--cup-block-gap);
    }
}
