@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap');

:root{
    --accent:#007bff;
    --muted:#555;
    --bg:#f4f4f4;
    --card:#ffffff;
}

*{box-sizing:border-box}
body{
    margin:0;
    font-family:'Inter',sans-serif;
    background:var(--bg);
    color:#222;
    min-height:100vh;
    display:flex;
    /* AJUSTE: Permite que o body se comporte de maneira flexível, mas o layout principal é quebrado pela media query */
    flex-direction: row; 
    align-items:flex-start;
}

/* ------------------------------------------- */
/* SIDEBAR (Desktop: Fixo na lateral) */
/* ------------------------------------------- */
.sidebar{
    width: 300px;
    background:var(--card);
    height:100vh;
    position:fixed;
    left:0;
    top:0;
    padding:22px;
    border-right:1px solid #e6e6e6;
    overflow-y:auto;
    z-index: 10; /* Garante que fique acima do conteúdo principal */
}
.sidebar img{display:block;margin-bottom:12px}
.sidebar h2{
    margin:0 0 12px 0;
    font-size:18px;
    color:#222;
}
.sidebar p.note {font-size:13px;color:#666;margin-top:8px}

.nav-list{list-style:none;padding:0;margin:10px 0 0 0}
.nav-list li{margin-bottom:6px}
.nav-link{
    display:block;
    padding:10px 12px;
    border-radius:8px;
    text-decoration:none;
    color:var(--accent);
    font-weight:600;
    transition:all .15s;
    cursor:pointer;
}
.nav-link:hover{background:var(--accent); color:#fff}
.nav-link.active{background:var(--accent); color:#fff}

/* ------------------------------------------- */
/* MAIN (Desktop: Empurrado para a direita pela sidebar) */
/* ------------------------------------------- */
.main{
    margin-left:320px; /* 300px da sidebar + 20px de margem */
    padding:28px;
    width:calc(100% - 320px);
    max-width:1200px; /* Limite de largura para leitura */
    flex-grow: 1; /* Permite que ocupe o espaço restante */
}

.section{
    background:var(--card);
    padding:22px;
    border-radius:10px;
    margin-bottom:18px;
    border-left:5px solid var(--accent);
    display:none;
}
.section.active{display:block}
.section h1{margin:0 0 12px 0; font-size:22px; color:#333}
.section p, .section li {color:var(--muted); line-height:1.6}
.section strong {color:#222}

.top-list{list-style:none;padding:0;margin:14px 0 22px 0}
.top-list li{border-bottom:1px solid #eee}
.top-list a{display:block;padding:10px 6px;text-decoration:none;color:var(--accent);font-weight:600}

.voltar-topo{display:block;text-align:right;margin-top:12px;color:#666;text-decoration:none}

/* Form */
.form-card{margin-top:6px}
input,textarea,button{
    width:100%;
    padding:10px;
    font-family:inherit;
    font-size:15px;
    border-radius:8px;
    border:1px solid #d9d9d9;
    margin-bottom:10px;
}
textarea{min-height:120px; resize:vertical}
button{
    background:var(--accent);
    color:#fff;
    border:none;
    font-weight:700;
    padding:12px;
    cursor:pointer;
    border-radius:8px;
}

footer.note {
    font-size:13px;
    color:#666;
    margin-top:14px;
}

/* ---------------------------------------------------- */
/* --- MEDIA QUERY: TRANSFORMA O SIDEBAR EM UM CABEÇALHO (900px e abaixo) --- */
/* ---------------------------------------------------- */
@media (max-width:900px){
    /* Sidebar: Deixa de ser fixo e ocupa 100% da largura, com altura auto */
    .sidebar{
        position:relative;
        width:100%;
        height:auto;
        border-right:none;
        padding: 18px; /* Ajusta o padding para telas menores */
    }
    /* Main: Remove a margem que o empurrava e ocupa 100% */
    .main{
        margin-left:0;
        width:100%;
        padding:18px;
        max-width: 100%; /* Remove o limite máximo de largura se necessário */
    }
    
    /* Corpo: Garante que o sidebar e o main fiquem um sobre o outro (como blocks) */
    body {
        flex-direction: column;
    }
}