/* ************************************************************** */
/* ************************************************************** */
/* HOMEPAGE */
/* ************************************************************** */
/* ************************************************************** */

.hero-section {
    position: relative;
    background-color: var(--color-mist-gray);
    background-image: url('../img/baccoteca-hero.png');
    background-position: center;
    background-size: cover;
    padding: 70px 0;
    
    .container {
        display: flex;
        flex-direction: column;
        justify-content: center;

        h1 {
            font-size: 3.2rem;
            font-weight: 700;
            color: var(--color-pure-white);
            margin-bottom: 20px;
            max-width: 600px;
        }

        p {
            font-size: 1.2rem;
            color: var(--color-pure-white);
            margin-bottom: 30px;
            max-width: 600px;
        }

        .hero-buttons {
            display: flex;
            gap: 10px;

            a {
                text-decoration: none;
                padding: 20px 30px;
                border-radius: 5px;
                font-size: 1.0rem;
                font-weight: 600;
                transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;

                &.btn-cork-gold {
                    background-color: var(--color-cork-gold);
                    color: var(--color-pure-white);

                    &:hover {
                        background-color: var(--color-cream-light);
                        color: var(--color-wine-maroon);
                    }
                }

                &.btn-white-outline {
                    background-color: var(--color-pure-white);
                    color: var(--color-wine-maroon);

                    &:hover {
                        background-color: var(--color-cork-gold);
                        color: var(--color-pure-white);
                    }
                }
            }
        }

        @media (max-width: 575px) {
            padding: 0 20px;           
        }
    }
}


.evento-section {
    position: relative;
    padding: 70px 0;
    
    .container {
        display: flex;
        align-items: top;
        gap: 30px;

        .date-box {
            width: 160px;
            height: 160px;
            background: var(--color-wine-maroon);
            border-radius: 15px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            color: var(--color-pure-white);
            box-shadow: 0 8px 18px rgba(79, 24, 29, 0.08);
        
            .number {
                font-size: clamp(2rem, 3.5vw, 3.2rem);
                font-weight: 700;
            }

            .month {
                font-size: clamp(1rem, 5vw, 1.4rem);
                font-weight: 600;
                text-transform: uppercase;
            }

            @media (max-width: 991px) {
                width: 120px;
                height: 120px;          
            }

            @media (max-width: 575px) {
                width: 80px;
                height: 100px;          
            }
        }

        .evento-content {
            flex: 1;

            .label {
                font-weight: 600;
                text-transform: uppercase;
                margin-bottom: 10px;
            }

            h2 {
                font-size: clamp(2rem, 3.5vw, 2.8rem);
                font-weight: 700;
                color: var(--color-wine-maroon);
                margin-bottom: 20px;
            }

            .evento-info {
                display: flex;
                gap: 15px;
                margin-bottom: 10px;

                i {
                    color: var(--color-wine-maroon);
                    font-size: 1.2rem;
                }
            }

            p {
                margin-bottom: 15px;

                i {
                    color: var(--color-wine-maroon);
                    font-size: 1.2rem;
                    margin-right: 10px;
                }
            }
        }

        a {
            text-decoration: none;
            display: inline-block;
            margin-top: 20px;

            background-color: var(--color-cork-gold);
            color: var(--color-pure-white);
            padding: 20px 30px;
            border-radius: 5px;
            font-size: 1.0rem;
            font-weight: 600;
            transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
            border: 1px solid var(--color-cork-gold);

            &:hover {
                background-color: var(--color-cream-light);
                color: var(--color-wine-maroon);
                border: 1px solid var(--color-wine-maroon);
            }
        }

        .evento-image {
            display: block;
            width: 450px;
            height: 350px;
            object-fit: cover;
            border-radius: 15px;
            box-shadow: 0 8px 18px rgba(79, 24, 29, 0.08);

            @media (max-width: 991px) {
                display: none;            
            }
        }

        @media (max-width: 575px) {
            padding: 0 20px;           
        }
    }
}


.target-section {

    background-color: var(--color-cream-light);
    padding: 70px 0;

    .container {
        display: flex;
        flex-direction: column;
        gap: 30px;

        h2 {
            font-size: 2rem;
            font-weight: 600;
            color: var(--color-wine-maroon);
            margin-bottom: 20px;
        }

        .target-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 50px;

            .target-card {
                display: flex;
                align-items: stretch;
                gap: 25px;

                .icon-square {
                    width: 80px;
                    height: 80px;
                    background-color: var(--color-wine-maroon);
                    border-radius: 15px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    flex-shrink: 0;

                    img {
                        color: var(--color-pure-white);
                    }
                }

                .card-text {
                    display: flex;
                    flex: 1;
                    flex-direction: column;

                    h3 {
                        font-family: var(--font-secondary);
                        font-size: 1.2rem;
                        font-weight: 600;
                        color: var(--color-wine-maroon);
                        margin-bottom: 15px;
                    }

                    p {
                        color: var(--color-pitch-black);
                        margin-bottom: 30px;
                    }

                    a {
                        font-family: var(--font-secondary);
                        font-weight: 700;
                        font-size: 16px;
                        letter-spacing: 0.03em;
                        text-transform: uppercase;
                        color: var(--color-cork-gold);
                        text-decoration: none;
                        margin-top: auto  ;

                        &:hover {
                            color: var(--color-wine-maroon);
                        }
                    }
                }
            }

            @media (max-width: 991px) {
                display: flex;
                flex-direction: column;            
            }
        }

        @media (max-width: 575px) {
            padding: 0 20px;           
        }
    }
}


.approccio-section {

    padding: 70px 0;

    .container {
        display: flex;
        flex-direction: column;

        h2 {
            font-size: 2rem;
            font-weight: 600;
            color: var(--color-wine-maroon);
            margin-bottom: 15px;
        }

        p {
            display: inline-block;
            width: fit-content;
            max-width: 100%;
            margin-bottom: 50px;
            padding-bottom: 15px;
            border-bottom: 2px solid var(--color-wine-maroon);
        }

        .approccio-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 50px;

            .approccio-item {
                display: flex;
                align-items: stretch;
                gap: 25px;

                .icon-square {
                    width: 80px;
                    height: 80px;
                    background-color: var(--color-cream-light);
                    border-radius: 15px;
                    border-right: 3px solid var(--color-mist-gray);
                    border-bottom: 3px solid var(--color-mist-gray);
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    flex-shrink: 0;

                    img {
                        color: var(--color-pure-white);
                        width: 50px;
                    }
                }

                .approccio-text {
                    display: flex;
                    flex: 1;
                    flex-direction: column;

                    h3 {
                        font-family: var(--font-secondary);
                        font-size: 1.2rem;
                        font-weight: 600;
                        color: var(--color-wine-maroon);
                        margin-bottom: 15px;
                    }

                    p {
                        color: var(--color-pitch-black);
                        margin-bottom: 30px;
                        border: 0;
                    }

                    a {
                        font-family: var(--font-secondary);
                        font-weight: 700;
                        font-size: 16px;
                        letter-spacing: 0.03em;
                        text-transform: uppercase;
                        color: var(--color-wine-maroon);
                        text-decoration: none;
                        margin-top: auto  ;

                        &:hover {
                            color: var(--color-cork-gold);
                        }
                    }
                }
            }

            @media (max-width: 991px) {
                display: flex;
                flex-direction: column;      
                gap: 30px      
            }
        }

        @media (max-width: 575px) {
            padding: 0 20px;           
        }
    }
}

