@layer components {
    .proceeding {
        background: var(--color-surface-variant);
        border: 1px solid var(--color-border);
        padding: 2.5rem;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        position: relative;
        overflow: hidden;
        transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;

        grid-column: span var(--colspan, 1);
        grid-row: span var(--rowspan, 1);
        contain: Page;

        &:hover {
            border-color: var(--color-primary);
            box-shadow: var(--shadow-lg);

            & .proceeding__logo {
                transform: scale(1.05);
            }
        }

        & .proceeding__header {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-bottom: 1.5rem;
        }

        & .proceeding__icon {
            flex-shrink: 0;
            width: 48px;
            height: 48px;
        }

        & .proceeding__logo {
            width: 100%;
            height: 100%;
            object-fit: contain;
            transition: var(--transition);
        }

        & .proceeding__title {
            font-size: 1.5rem;
            font-weight: 700;
            line-height: 1.2;
            margin: 0;
        }

        & .proceeding__body {
            position: relative;
            z-index: 2;
        }

        & .proceeding__section {
            margin-bottom: 1.5rem;

            &:last-child {
                margin-bottom: 0;
            }
        }

        & .proceeding__more {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            padding: 1rem;
            background: linear-gradient(transparent, var(--color-surface-variant) 50%);
            border: none;
            color: var(--color-primary);
            font-weight: 600;
            cursor: pointer;
            text-align: center;
            z-index: 10;
            transition: var(--transition);

            &:hover {
                color: var(--color-secondary);
                padding-bottom: 1.2rem;
            }
        }

        & .proceeding__section-name {
            font-size: 1.2rem;
            font-weight: 600;
            color: var(--color-primary);
            margin-bottom: 0.5rem;
        }

        & .proceeding__description {
            color: var(--color-on-surface-muted);
            font-size: 0.9rem;
            line-height: 1.5;
            margin: 0;
        }

        @media (max-width: 768px) {
            padding: 2rem;
            min-height: auto;

            grid-column: span 1 !important;
            grid-row: span 1 !important;
        }
    }
}
