.grand-table-block {
    padding: 2rem 0;
    container-type: inline-size;

    .container {
        max-width: 100%;
        margin: 0 auto;
        padding: 0;
    }

    .grand-table-heading {
        color: var(--text);
        margin-bottom: 0.75rem;
    }

    .grand-table-description {
        color: var(--text);
        margin-bottom: 1.5rem;
    }

    .grand-table {
        width: 100%;
        border-collapse: collapse;
        border-spacing: 0;

        tbody tr {
            border-bottom: 1px solid var(--ncs-container-strong, rgba(0, 0, 0, 0.1));

            &.last-row {
                border-bottom: none;
            }
        }

        td {
            padding-block: 1.5rem;
            padding-inline: 0;
            vertical-align: middle;

            &.grand-table-identity {
                width: auto;
                padding-inline-end: 1.5rem;
                display: flex;
                flex-direction: column;
                gap: 0.5rem;
                align-items: flex-start;

                .grand-table-logo img {
                    height: 80px;
                    width: auto;
                    object-fit: contain;
                }

                .grand-table-title {
                    font-weight: 600;
                    font-size: var(--font-lg, 1.125rem);
                    color: var(--text);
                    text-decoration: none;
                    display: block;
                    
                    &:hover {
                        text-decoration: underline;
                    }
                }

                span.grand-table-title:hover {
                    text-decoration: none;
                }
            }

            &.grand-table-column {
                color: var(--text);
                font-size: var(--font-md, 1rem);
                line-height: 1.6;
                text-align: start;
                padding-inline: 1rem;
            }
        }
    }

    @container (max-width: 900px) and (min-width: 601px) {
        .grand-table {
            display: block;

            tbody {
                display: block;

                tr {
                    display: grid;
                    grid-template-columns: auto 1fr;
                    gap: 0.75rem 1rem;
                    padding: 1.5rem 0;
                    border-bottom: 1px solid var(--ncs-container-strong, rgba(0, 0, 0, 0.1));

                    &.last-row {
                        border-bottom: none;
                    }
                }
            }

            td {
                display: block;
                padding: 0;

                &.grand-table-identity {
                    grid-column: 1;
                    width: auto;
                    padding-inline-end: 0;
                    align-items: flex-start;

                    .grand-table-logo img {
                        height: 60px;
                        width: auto;
                    }
                }

                &.grand-table-column {
                    padding-inline: 0;

                    &:first-of-type {
                        grid-column: 2;
                    }
                }
            }
        }
    }

    @container (max-width: 600px) {
        padding: 1.5rem 0;

        .grand-table {
            display: block;

            tbody {
                display: block;

                tr {
                    display: grid;
                    grid-template-columns: 1fr;
                    gap: 1rem;
                    padding: 1.5rem 0;
                    border-bottom: 1px solid var(--ncs-container-strong, rgba(0, 0, 0, 0.1));

                    &.last-row {
                        border-bottom: none;
                    }
                }
            }

            td {
                display: block;
                padding: 0;
                width: 100%;
                text-align: center;

                &.grand-table-identity {
                    width: 100%;
                    padding-inline-end: 0;
                    align-items: center;

                    .grand-table-logo img {
                        height: 60px;
                        width: auto;
                        margin: 0 auto;
                        display: block;
                    }

                    .grand-table-title {
                        text-align: center;
                    }
                }

                &.grand-table-column {
                    padding-inline: 0;
                    text-align: center;
                }
            }
        }
    }

    @container (max-width: 480px) {
        padding: 1rem 0;

        .grand-table {
            tbody tr {
                padding: 1rem 0;
            }

            td.grand-table-identity {
                .grand-table-logo img {
                    height: 50px;
                }
            }
        }
    }
}
