:root{
--gold:#c8a24a;
--gold-dark:#ab8430;
--gold-soft:#f6efe0;
--black:#111111;
--text:#222222;
--muted:#666666;
--border:#e7e7e7;
--bg:#f8f8f8;
--white:#ffffff;
--shadow:0 12px 35px rgba(0,0,0,0.06);
}

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

body{
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
background:linear-gradient(180deg,#ffffff,#f7f7f7);
color:var(--text);
}

a{
text-decoration:none;
color:inherit;
}

.container{
max-width:1240px;
margin:auto;
padding:0 22px;
}

/* HEADER */

.site-header{
background:#fff;
border-bottom:1px solid var(--border);
position:sticky;
top:0;
z-index:30;
}

.nav-wrap{
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
padding:18px 0;
}

.brand{
display:flex;
align-items:center;
gap:14px;
}

.brand-mark{
width:44px;
height:44px;
border-radius:12px;
background:#111;
color:var(--gold);
display:flex;
align-items:center;
justify-content:center;
font-size:20px;
flex-shrink:0;
}

.brand strong{
display:block;
font-size:20px;
line-height:1.1;
}

.brand small{
display:block;
font-size:13px;
color:#777;
margin-top:3px;
}

.main-nav{
display:flex;
align-items:center;
gap:24px;
flex-wrap:wrap;
}

.main-nav a{
font-weight:600;
color:#333;
}

.main-nav a.active,
.main-nav a:hover{
color:var(--gold-dark);
}

.btn-nav{
background:#111;
color:#fff !important;
padding:10px 16px;
border-radius:12px;
}

/* BADGE */

.eyebrow{
display:inline-flex;
align-items:center;
padding:7px 14px;
border-radius:999px;
background:var(--gold-soft);
color:var(--gold-dark);
font-size:12px;
font-weight:800;
letter-spacing:.06em;
text-transform:uppercase;
}

/* BOTÕES */

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
padding:13px 20px;
border-radius:12px;
font-weight:700;
border:none;
cursor:pointer;
transition:.2s ease;
}

.btn:hover{
transform:translateY(-2px);
}

.btn-gold{
background:linear-gradient(135deg,var(--gold),var(--gold-dark));
color:#fff;
}

.btn-dark{
background:#111;
color:#fff;
}

.btn-light{
background:#fff;
border:1px solid #dcdcdc;
color:#111;
}

.forum-actions{
display:flex;
gap:12px;
flex-wrap:wrap;
margin-top:24px;
}

.forum-actions.center{
justify-content:center;
}

/* TOPO DO FÓRUM */

.forum-top{
padding:46px 0 26px;
}

.forum-top-grid{
display:grid;
grid-template-columns:1.5fr .9fr;
gap:28px;
align-items:start;
}

.forum-intro h1{
font-size:46px;
line-height:1.08;
margin:16px 0 14px;
max-width:850px;
}

.forum-intro p{
font-size:18px;
line-height:1.7;
color:#5f5f5f;
max-width:760px;
}

/* MÉTRICAS */

.forum-metrics{
display:grid;
grid-template-columns:1fr;
gap:14px;
}

.metric-card{
background:#fff;
border:1px solid var(--border);
border-radius:18px;
padding:24px;
box-shadow:var(--shadow);
}

.metric-card strong{
display:block;
font-size:34px;
line-height:1;
margin-bottom:8px;
}

.metric-card span{
color:#666;
font-weight:600;
}

/* MAIN */

.forum-main{
padding:10px 0 54px;
}

.forum-layout{
display:grid;
grid-template-columns:1.7fr .9fr;
gap:28px;
align-items:start;
}

.forum-left{
min-width:0;
}

.forum-sidebar{
display:grid;
gap:18px;
}

/* SECTION HEAD */

.section-head{
margin-bottom:22px;
}

.section-head h2{
font-size:38px;
line-height:1.15;
margin:14px 0 10px;
}

.section-head p{
font-size:17px;
color:#666;
}

/* CATEGORIAS */

.categoria-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
gap:22px;
}

.categoria-card{
display:block;
background:#fff;
border:1px solid var(--border);
border-radius:20px;
padding:24px;
box-shadow:var(--shadow);
transition:.2s ease;
}

.categoria-card:hover{
transform:translateY(-4px);
border-color:#d9c08a;
}

.categoria-card-top{
display:flex;
gap:14px;
align-items:flex-start;
margin-bottom:18px;
}

.categoria-icon{
width:48px;
height:48px;
border-radius:14px;
background:#111;
color:var(--gold);
display:flex;
align-items:center;
justify-content:center;
font-size:24px;
flex-shrink:0;
}

.categoria-info h3{
font-size:22px;
margin-bottom:8px;
line-height:1.2;
}

.categoria-info p{
font-size:15px;
line-height:1.6;
color:#666;
}

.categoria-footer{
margin-top:18px;
padding-top:14px;
border-top:1px solid #efefef;
display:flex;
justify-content:space-between;
align-items:center;
gap:12px;
}

.categoria-footer span{
color:#666;
font-size:14px;
}

.categoria-footer strong{
color:var(--gold-dark);
}

/* SIDEBAR */

.sidebar-card{
background:#fff;
border:1px solid var(--border);
border-radius:20px;
padding:22px;
box-shadow:var(--shadow);
}

.sidebar-card h3{
font-size:24px;
margin-bottom:14px;
}

.topic-list{
display:grid;
gap:14px;
}

.topic-item{
display:flex;
gap:10px;
align-items:flex-start;
padding-top:14px;
border-top:1px solid #f0f0f0;
}

.topic-item:first-child{
border-top:none;
padding-top:0;
}

.topic-dot{
width:10px;
height:10px;
border-radius:50%;
background:#111;
margin-top:7px;
flex-shrink:0;
}

.topic-dot.gold{
background:var(--gold);
}

.topic-item strong{
display:block;
font-size:15px;
line-height:1.45;
margin-bottom:4px;
}

.topic-item span{
display:block;
font-size:13px;
line-height:1.4;
color:#777;
}

.sidebar-empty{
color:#777;
font-size:15px;
}

/* CATEGORIA / TOPICOS */

.categoria-top{
padding:40px 0 20px;
}

.categoria-top h1{
font-size:44px;
line-height:1.08;
margin:16px 0 10px;
}

.categoria-top p{
font-size:18px;
line-height:1.7;
color:#5e5e5e;
max-width:850px;
}

.categoria-main{
padding:10px 0 54px;
}

.topicos-lista{
display:grid;
gap:18px;
}

.topico-card{
display:grid;
grid-template-columns:64px 1fr 26px;
gap:18px;
align-items:center;
background:#fff;
border:1px solid var(--border);
border-radius:22px;
padding:24px;
box-shadow:var(--shadow);
transition:.2s ease;
}

.topico-card:hover{
transform:translateY(-3px);
border-color:#d9c08a;
}

.topico-icon{
width:54px;
height:54px;
border-radius:16px;
background:#111;
color:var(--gold);
display:flex;
align-items:center;
justify-content:center;
font-size:26px;
flex-shrink:0;
}

.topico-conteudo{
min-width:0;
}

.topico-conteudo h3{
font-size:24px;
line-height:1.3;
margin-bottom:10px;
}

.topico-conteudo p{
font-size:16px;
line-height:1.65;
color:#666;
margin-bottom:12px;
}

.topico-meta{
display:flex;
gap:16px;
flex-wrap:wrap;
font-size:14px;
color:#777;
}

.topico-arrow{
font-size:24px;
color:var(--gold-dark);
text-align:right;
}

/* DETALHE DO TOPICO */

.topico-detalhe-card{
background:#fff;
border:1px solid var(--border);
border-radius:22px;
padding:28px;
box-shadow:var(--shadow);
}

.topico-detalhe-header{
display:flex;
gap:16px;
align-items:flex-start;
margin-bottom:18px;
}

.topico-detalhe-header h2{
font-size:30px;
line-height:1.25;
margin-bottom:8px;
}

.topico-detalhe-conteudo{
font-size:17px;
line-height:1.8;
color:#444;
}

/* EMPTY */

.empty-box{
background:#fff;
border:1px solid var(--border);
border-radius:22px;
padding:34px;
box-shadow:var(--shadow);
text-align:center;
}

.empty-box h3{
font-size:28px;
margin-bottom:10px;
}

.empty-box p{
font-size:16px;
line-height:1.7;
color:#666;
margin-bottom:18px;
}

/* LOCKED */

.locked-section{
padding:70px 0;
}

.locked-card{
background:#fff;
border:1px solid var(--border);
border-radius:24px;
padding:42px;
box-shadow:var(--shadow);
text-align:center;
max-width:900px;
margin:auto;
}

.locked-icon{
width:74px;
height:74px;
margin:0 auto 18px;
border-radius:18px;
background:#111;
color:var(--gold);
display:flex;
align-items:center;
justify-content:center;
font-size:34px;
}

.locked-card h1{
font-size:42px;
line-height:1.15;
margin:14px 0;
}

.locked-card p{
font-size:18px;
line-height:1.75;
color:#666;
max-width:760px;
margin:0 auto;
}

.locked-benefits{
display:flex;
justify-content:center;
gap:12px;
flex-wrap:wrap;
margin:24px 0 28px;
}

.locked-benefits div{
background:#faf8f2;
border:1px solid #efe4c7;
padding:12px 16px;
border-radius:999px;
font-size:14px;
color:#444;
}

/* FOOTER */

.site-footer{
margin-top:46px;
background:linear-gradient(90deg,#0b0b0b,#1c1c1c);
color:#fff;
padding:28px 0;
}

.footer-wrap{
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
}

.footer-wrap p{
margin-top:6px;
color:#cfcfcf;
font-size:14px;
}

.footer-links{
display:flex;
gap:18px;
flex-wrap:wrap;
}

.footer-links a{
color:#fff;
}

/* RESPONSIVO */

@media (max-width: 1100px){
.forum-top-grid,
.forum-layout{
grid-template-columns:1fr;
}

.forum-metrics{
grid-template-columns:repeat(3,1fr);
}
}

@media (max-width: 760px){
.nav-wrap{
flex-direction:column;
align-items:flex-start;
padding:18px 0;
}

.main-nav{
justify-content:flex-start;
gap:16px;
}

.forum-intro h1,
.categoria-top h1{
font-size:34px;
}

.forum-intro p,
.categoria-top p{
font-size:17px;
}

.forum-metrics{
grid-template-columns:1fr;
}

.categoria-grid{
grid-template-columns:1fr;
}

.topico-card{
grid-template-columns:1fr;
}

.topico-arrow{
text-align:left;
}

.footer-wrap{
flex-direction:column;
align-items:flex-start;
}
}