/* ==========================================
   APP
========================================== */

#app{

    min-height:100vh;

    display:flex;

    flex-direction:column;

    background:var(--background);

}
.app-container{

    width:100%;

    max-width:1200px;

    min-height:100vh;

    margin:0 auto;

    background:var(--background);

    display:flex;

    flex-direction:column;

    position:relative;

}

/* ==========================================
   CONTAINER
========================================== */

.container{

    width:100%;

    max-width:640px;

    margin:0 auto;

    padding:0 var(--space-4);

}

/* ==========================================
   HEADER
========================================== */

.header{

    position:relative;

    background:var(--surface);

    padding:32px 24px 24px;

    text-align:center;

}

.header-logo{

    display:block;

    width:160px;

    height:auto;

    margin:0 auto 20px;

}

.header h1{

    margin:0;

    font-size:22px;

    line-height:1.15;

    font-weight:700;
    padding-top: 20px;

}

.header p{

    max-width:430px;

    margin:20px auto 0;

    line-height:1.2;

    color:var(--text-light);

}
/* ==========================================
   MAIN
========================================== */

.main-content{

    flex:1;

    overflow-y:auto;

    padding:24px 24px 120px 24px;

}

/* ==========================================
   PAGE
========================================== */

.page{

    display:flex;

    flex-direction:column;

    gap:var(--space-5);

}

/* ==========================================
   LISTA DE EVENTOS
========================================== */

.events{

    display:flex;

    flex-direction:column;

    gap:20px;

    padding:0 16px;

}
.events h2{

    margin:28px 0 20px;

}

/* ==========================================
   TABS DE DATA
========================================== */

.tabs-wrapper{

    position:sticky;

    top:0;

    z-index:100;

    background:#fff;

    border-bottom:1px solid #ECECEC;

}

.tabs-wrapper::-webkit-scrollbar{

    display:none;

}

.tabs{

    display:flex;

    gap:12px;

    overflow-x:auto;

    padding:14px 16px;

    scrollbar-width:none;

}

.tabs::-webkit-scrollbar{

    display:none;

}

/* ==========================================
   SEÇÕES
========================================== */

.section{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.section-title{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.section-title h2{

    font-size:22px;

    color:var(--text);

}

/* ==========================================
   AGENDA
========================================== */

.agenda-date{

    margin:32px 0 16px;

    padding-bottom:8px;

    border-bottom:1px solid #ECECEC;

    font-size:18px;

    font-weight:700;

    color:var(--text);

}
.page-title{

    margin:28px 0 20px;

    font-size:24px;

    font-weight:700;

    color:var(--text);

}

/* ==========================================
   FOOTER SPACE
========================================== */

.footer-space{

    height:90px;

}

/* ==========================================
   DETALHES DO EVENTO
========================================== */

.event-page{

    width:100%;

    max-width:680px;

    margin:0 auto;

    display:flex;

    flex-direction:column;

    gap:20px;

    padding-bottom:40px;

}
.back-button{

    display:inline-flex;

    align-items:center;

    gap:6px;

    margin-bottom:12px;

    padding:0;

    background:none;

    border:none;

    color:var(--primary);

    font-size:15px;

    font-weight:600;

    cursor:pointer;

}

.back-button .material-symbols-rounded{

    font-size:22px;

}

.event-title{

    margin:0;

    font-size:32px;

    line-height:1.15;

    font-weight:700;

    color:var(--text);

}

.event-meta{

    display:flex;

    flex-direction:column;

    gap:12px;

}



   .event-description{

    margin-top:8px;

    margin-bottom:8px;

    color:var(--text-secondary);

    font-size:16px;

    line-height:1.7;

}



.favorite-action{

    width:100%;

    height:56px;

    border:none;

    border-radius:16px;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.25s;

}

/* Não favoritado */

.favorite-action{

    background:var(--primary);

    color:#FFF;

}

/* Favoritado */

.favorite-action.favorited{

    background:#ECECEC;

    color:#444;

}

/* ==========================================
   RESPONSIVO
========================================== */

@media (max-width:480px){

    .container{

        padding:0 16px;

    }

    .header-content{

        height:68px;

    }

}