


:root {
            --primary-color: #004B85;
            --brand-darker: #004B85;
            --brand-dark: #004B85;
            --brand-neutral: #9FDDF9;
            --brand-light: #F2FBFF;
            --text-color: #333333;
            --secondary-text: #666666;
            --background-light: #fff;
            --white: #FFFFFF;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Titillium Web', sans-serif;
             -webkit-overflow-scrolling: touch;
            scrollbar-width: none; /* Firefox */
            -ms-overflow-style: none; /* IE and Edge */

            &::-webkit-scrollbar{
                width: 0;
                height: 0;
                background: transparent; /* Chrome, Safari, Opera */
            }
        }

        body {
            background-color: var(--white);
        }

        .main-body {
            display: grid;
            grid-template-columns: 200px 1fr;
            grid-template-rows: auto 1fr;
            grid-template-areas:
                "header header"
                "sidebar main-content";
            flex-direction: column;
            min-height: 100vh;
        }

        .header-wrapper {
            display: flex;
            background-color: var(--white);
            border-bottom: 1px solid var(--brand-light);
            box-shadow: 0px 20px 20px rgb(0 0 0 / 5%);
            grid-column: span 2;
            

        }

        .header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 2rem 1rem 1rem;
            
        }

        .header-left {
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .logo {
            width: 2rem;
            height: 2rem;
        }

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

            span{
            font-size: 1rem;
            color: var(--text-color);
            line-height: 1.1rem;
            }

            span:last-child {
            font-size: 1.2rem;
            font-weight: 600;
            color: var(--text-color);
            }
        
        }


        .notification-bell {
            color: var(--primary-color);
            font-size: 1.5rem;
        }

        .search-container {
            flex: 1;
            display: flex;
            align-items: center;
            padding:2rem 1rem 1rem;
            

            .search-box {
                flex: 1;
                background-color: var(--background-light);
                border-radius: 2rem;
                padding: 0.75rem 1rem;
                display: flex;
                align-items: center;
                gap: 0.5rem;
                text-decoration: none;

                img {
                    width: 1rem;
                    height: 1rem;
                }

                input {
                    border: none;
                    background: none;
                    width: 100%;
                    font-size: 1rem;
                    color: var(--secondary-text);

                    &::placeholder {
                        color: var(--secondary-text);
                        font-weight: 300;
                        font-size: 0.8rem;
                    }
                }
            }
        }


        .main-content {
        background-color: var(--background-light);
        min-height: calc(100vh - 150px);
        container-type: inline-size;
        opacity: 0;
        transition: opacity 0.3s ease-in-out;
        padding-bottom: 8rem;


            h1, h2 {
                font-size: 1.2rem;
                font-weight: 600;
                color: var(--text-color);
                padding: 1rem 1rem 0.5rem;
            }
        }


body > nav {
            grid-area: sidebar;
            background-color: var(--white);
            padding: 1rem;
            border-right: 1px solid var(--brand-light);

            ul {
                display: flex;
                flex-direction: column;
                gap: 1rem;

                li {
                    list-style: none;
                    
                    
                    a {
                        border: 1px solid var(--brand-light);
                        border-radius: 2rem;
                        padding: 0.5rem 1rem;
                        text-decoration: none;
                        color: var(--text-color);
                        font-weight: 600;
                        display: flex;
                        align-items: center;
                        gap: 0.5rem;
                        font-size: 0.9rem;
                        transition: transform 0.2s ease, background-color 0.2s ease;

                        img {
                            width: 1.2rem;
                            height: 1.2rem;
                        }

                        &:hover {
                            transform: scale(1.02);
                            
                            background-color: var(--brand-light);
                            color: var(--text-color);
                        }
                    }
                }
            }
        }

        

        .section-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 1rem;
            margin-bottom: 1rem;
        }

        .section-title {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--text-color);
        }

        .see-more {
            background-color: var(--primary-color);
            color: white;
            padding: 0.5rem 1rem;
            border-radius: 1.5rem;
            text-decoration: none;
            font-size: 0.875rem;
        }

        .agenda-list {
            padding: 0 1rem;
        }

        .agenda-item {
            display: flex;
            gap: 1rem;
            margin-bottom: 1.5rem;
        }

        .date-box {
            background-color: var(--primary-color);
            color: white;
            padding: 0.5rem;
            border-radius: 0.5rem;
            text-align: center;
            min-width: 3.5rem;
        }

        .date-box .day {
            font-size: 1.5rem;
            font-weight: 700;
        }

        .date-box .weekday {
            font-size: 0.75rem;
            text-transform: uppercase;
        }

        .event-details {
            display: flex;
            flex-direction: column;
        }

        .event-title {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-color);
            margin-bottom: 0.25rem;
        }

        .event-info {
            color: var(--secondary-text);
            font-size: 0.875rem;
        }

        .mundo-vilagale {
            padding: 0 1rem;
        }

        .bottom-nav {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: white;
            display: flex;
            justify-content: space-around;
            padding: 0.75rem 0;
            box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
        }

        .nav-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            color: var(--primary-color);
            text-decoration: none;
            font-size: 0.75rem;
        }

        .nav-item i {
            font-size: 1.5rem;
            margin-bottom: 0.25rem;
        }

        /* Filters Section */

        .filter-list {
            display: flex;
            flex-wrap: nowrap;
            gap: 0.5rem;
            padding: 0.5rem 1rem 0.5rem;
            
            border-radius: 0.5rem;
            overflow-x: scroll;
            overflow-y: hidden;

            li {
                list-style: none;

                a {
                    text-decoration: none;
                    color: var(--brand-dark);
                    font-weight: 600;
                    background-color: var(--brand-light);
                    padding: 0.35rem 1.2rem;
                    border-radius: 2rem;
                    font-size: 0.85rem;
                    white-space: nowrap;
                    overflow: hidden;
                    display: inline-block;
                    border: 1px solid var(--brand-light);
                    transition: transform 0.2s ease;
                    
                    &:hover {
                        
                        transform: scale(1.1);
                        border: 1px solid var(--primary-color);
                    }
                    


                    &.active {
                        background-color: var(--brand-darker);
                        color: white;
                    }
                }
            }
            
        
        }


@media screen and (max-width: 900px) {


    .scroll-element {
        overflow: scroll;
        height: calc(100vh - 80px);
    }

    .main-body {
      display: flex;
      flex-direction: column;

      /*& > .main-content {
        min-height: 100vh;
      }*/


      & > nav  {
        transition: transform 0.3s ease;
        position: fixed;
        width: 100%;
        bottom: 0;
        padding: 0;
        z-index: 10;
        padding: 0rem 0rem 1rem;

        &.hidden {
            transform: translateY(100%);
        }
        ul {
             flex-direction: row;
             justify-content: space-between;
             gap: 1px;
             padding: 0;
                             display: grid;
                grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
             li {flex: 1;}

             a {
                border: none;
                flex-direction: column;
                font-size: 0.55rem;
                color: var(--primary-color);
                border-top: 2px solid var(--brand-light);
                border-radius: 0;
                img {
                    width: 1.6rem;
                    height: 1.6rem;
                }

                &.active {
                    background-color: inherit;
                    border-top: 2px solid var(--primary-color);
                    color: var(--text-color);
                    
                }

        }
      }
    }

    .header-wrapper {
        flex-direction: row;
        align-items: center;
        width: 100%;
        transition: transform 0.3s ease;
        z-index: 10;

        .header {
            flex-direction: column;
            align-items: center;
            padding: 1rem;
            padding-right: 0;

            .greeting {
                display: none;
            }
        }

        &.header-hidden {
            transform: translateY(-100%);
        }
    }

    .search-container {
        width: 100%;
        padding: 1rem;
    }


    .filter-list {
        border-bottom: 1px solid var(--brand-neutral);
        background-color: var(--background-light);
        border-radius:0 ;
        & li {
            & a {
                &:hover {
                    transform: scale(1);
                }
            }
        }
    }
}

}


@media screen and (min-width: 901px) {
    .scroll-element {
        width: 100vw;
    }

    .main-content {
        max-width: calc(100vw - 200px);
        top: 97px;
        position: absolute !important;
        container-type: normal;
        right: 0;
        width: 100%;
    }
}