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

html,
body{
    height:100%;
    font-family:Arial, sans-serif;
    background:#f4f4f4;
}

/* CONTAINER PRINCIPAL */

.page{
    max-width:600px;
    margin:0 auto;
    height:100vh;

    overflow:hidden;

    background:#ffffff;

    display:flex;
    flex-direction:column;
}

/* BARRA DE IDIOMAS */

.language-bar{
    background:#000;
    padding:10px;

    display:flex;
    justify-content:center;
    gap:16px;

    flex-shrink:0;
}

.language-bar button{
    background:none;
    border:none;

    font-size:28px;

    cursor:pointer;

    opacity:0.65;
}

.language-bar button.active{
    opacity:1;
    border-bottom:2px solid #ffffff;
}

/* IMAGEM */

.main-image{

    width:100%;
    max-height:35vh;

    object-fit:contain;

    display:block;

    flex-shrink:0;

    background:#f0f0f0;
}

/* ÁREA DA MÚSICA */

.music-area{

    padding:12px;

    border-bottom:1px solid #eeeeee;

    flex-shrink:0;
}

.play-button{

    width:100%;

    padding:14px;

    border:none;

    border-radius:25px;

    background:#111111;

    color:white;

    font-size:16px;

    cursor:pointer;
}

/* ÁREA DE TEXTO */

.text-section{

    flex:1 1 auto;

    min-height:0;

    overflow-y:auto;

    padding:20px;

    text-align:justify;

    line-height:1.8;

    font-size:18px;

    font-family:Arial, sans-serif;

    -webkit-overflow-scrolling:touch;
}

/* TÍTULO DO DIA */

.meta{

    color:#777777;

    font-size:13px;

    margin-bottom:20px;

    text-align:left;
}

/* TEXTO NORMAL */

.text-content{
    font-size:18px;
    font-family:Arial, sans-serif;
    font-weight:normal;
    text-align:justify;
}

.text-content p{
    font-size:18px;
    font-weight:normal;
    text-align:justify;
    line-height:1.8;
    margin-bottom:20px;
}

.text-content blockquote{
    text-align:center;
    font-weight:bold;
    font-size:24px;

    border:none;
    padding:0;

    margin-top:35px;
    margin-bottom:25px;
}

/* RODAPÉ FIXO */

.footer{

    padding:12px;

    border-top:1px solid #eeeeee;

    background:#ffffff;

    display:flex;

    gap:8px;

    flex-shrink:0;

    position:relative;

    z-index:10;
}

/* BOTÕES */

.reaction-button{

    flex:1;

    border:none;

    border-radius:25px;

    padding:12px;

    background:#f1f1f1;

    cursor:pointer;

    font-size:14px;
}

.reaction-button.selected{

    background:#111111;

    color:white;
}

/* CELULARES */

@media (max-width:480px){

    .text-section{
        font-size:17px;
    }

    .text-content p{
        font-size:17px;
    }

    .text-content blockquote{
        font-size:22px;
    }

}
