* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;

    p {
        margin-bottom: 0;
    }
}

body {
    background-color: #FFFFFF;
    color: #2D2D2D;

    #eventos-proximos {
        padding: 60px 20px;
        background: #E8F5EE;
        border-bottom: 2px solid rgba(46, 158, 114, 0.2);

        h2 {
            font-size: 28px;
            margin-bottom: 30px;
            padding-bottom: 10px;
            border-bottom: 2px solid rgba(46, 158, 114, 0.2);
        }

        .card-group {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .card {
            background: #E8F5EE;
            border: 1px solid rgba(46, 158, 114, 0.2);
            border-radius: 15px;
            border-top: 4px solid #2E9E72;
            box-shadow: 0px 4px 15px rgba(46, 158, 114, 0.1);
            transition: box-shadow 0.3s ease;

            &:hover {
                box-shadow: 0px 8px 25px rgba(46, 158, 114, 0.25);
            }

            .card-img-top {
                width: 100%;
                height: 160px;
                object-fit: contain;
                padding: 20px;
                background: #E8F5EE;
            }

            .card-body {
                padding: 20px;

                .card-title {
                    font-size: 16px;
                    margin-bottom: 10px;
                    line-height: 1.4;
                }

                .card-text {
                    font-size: 14px;
                    color: #2D2D2D;
                    line-height: 1.8;
                }
            }
        }
    }

    #eventos-pasados {
        padding: 60px 20px;
        background: #FDECEA;

        h2 {
            font-size: 28px;
            margin-bottom: 30px;
            padding-bottom: 10px;
            border-bottom: 2px solid rgba(200, 48, 42, 0.2);
        }

        .card-group {
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .card {
            background: #FDECEA;
            border: 1px solid rgba(200, 48, 42, 0.2);
            border-radius: 15px;
            overflow: hidden;
            border-top: 4px solid #C8302A;
            box-shadow: 0px 4px 15px rgba(200, 48, 42, 0.1);
            transition: box-shadow 0.3s ease;

            &:hover {
                box-shadow: 0px 8px 25px rgba(200, 48, 42, 0.25);
            }

            .card-img-top {
                width: 100%;
                height: 160px;
                object-fit: contain;
                padding: 20px;
                background: #FDECEA;
            }

            .card-body {
                padding: 20px;

                .card-title {
                    font-size: 16px;
                    margin-bottom: 10px;
                    line-height: 1.4;
                }

                .card-text {
                    font-size: 14px;
                    line-height: 1.8;
                }
            }
        }
    }
}

@media (min-width: 768px) and (max-width: 1023px) {

    #eventos-proximos,
    #eventos-pasados {
        padding: 60px 40px;

        h2 {
            font-size: 30px;
        }

        .card-group {
            display: grid !important;
            grid-template-columns: 1fr 1fr !important;
            grid-template-rows: 1fr 1fr !important;
            gap: 20px;
        }

        .card {
            flex: none !important;
            border-radius: 15px !important;

            .card-body {
                .card-title {
                    font-size: 17px;
                }

                .card-text {
                    font-size: 15px;
                }
            }
        }
    }
}

@media (min-width: 1024px) {

    #eventos-proximos,
    #eventos-pasados {
        padding: 80px 80px;

        h2 {
            font-size: 32px;
        }

        .card-group {
            display: flex !important;
            flex-direction: row !important;
        }

        .card {
            border-radius: 15px !important;

            .card-img-top {
                height: 180px;
            }

            .card-body {
                .card-title {
                    font-size: 18px;
                }

                .card-text {
                    font-size: 15px;
                }
            }
        }
    }
}