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

/* ==================================================
   CORES OFICIAIS DO COMECESUAVE
   ================================================== */

:root{

    --verde-comecesuave:#B9D58A;

}

/* ================================================== */

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

body{
    overflow:hidden;
}

/* CONTAINER PRINCIPAL */

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

    height:100vh;
    height:100svh;
    height:100dvh;

    overflow:hidden;

    background:#ffffff;

    display:flex;
    flex-direction:column;
}

/* BARRA DE IDIOMAS */

.language-bar{
    background:#000000;
    padding:9px 12px;

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

    flex-shrink:0;
}

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

    font-size:28px;

    cursor:pointer;

    opacity:0.72;
}

.language-bar button.active{
    opacity:1;
    border-bottom:3px solid #ffffff;
    transform:translateY(-1px);
}

/* 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;

    background:#000000;
    border-bottom:1px solid #222222;

    flex-shrink:0;
}

.play-button{

    width:100%;

    padding:14px;

    border:none;

    border-radius:25px;

    background:#000000;

    color:#ffffff;
    border:2px solid #ffffff;

    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;
    }

}

/* NAVEGAÇÃO ENTRE REFLEXÕES */

.reflection-nav{

    display:flex;

    gap:8px;

    padding:12px;

    border-top:1px solid #eeeeee;

    background:#ffffff;

    flex-shrink:0;
}

.reflection-nav button{

    flex:1;

    padding:12px;

    border:none;

    border-radius:25px;

    background:#f1f1f1;

    cursor:pointer;

    font-size:14px;
}

.reflection-nav button:hover{

    background:#e7e7e7;
}

.reflection-nav button:disabled{

    opacity:0.4;

    cursor:not-allowed;
}

/* Splash controlado por splash.css */


/* Estilo da frase final */

.frase-final {
    display: block;
    width: 100%;
    text-align: center !important;
    font-weight: bold;
    margin-top: 1.8em;
    margin-bottom: 0;
}

.text-content p.frase-final {
    display: block;
    width: 100%;
    text-align: center !important;
    text-align-last: center !important;
    font-weight: 700 !important;
    margin-top: 1.8em;
    margin-bottom: 0;
}

.text-content p.frase-final strong {
    display: inline-block;
    font-weight: 700 !important;
    text-align: center !important;
}


/* ==================================================
   CORREÇÃO MOBILE - viewport e rodapé
   ================================================== */
.reflection-nav,
.footer{
    flex:0 0 auto;
}

.footer{
    padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px));
}

@supports (height: 100dvh){
    .page{
        height:100dvh;
    }
}
