/* ============================================================
   OAB AlunoDireito — CSS customizado (Fase 1: visual)
   ============================================================ */

:root{
  --oab-azul: #1a73e8;
  --oab-roxo: #7c3aed;
  --oab-verde: #188038;
  --oab-texto: #111111;
  --oab-texto-suave: #5b5b5b;
  --oab-fundo-claro: #f4f6fa;
  --oab-borda: #e1e5ec;
}

/* ===== Cabeçalho superior ===== */
.oab-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 20px;
  background-color:#ffffff;
  border-bottom:1px solid var(--oab-borda);
  position:sticky;
  top:0;
  z-index:100;
}
.oab-logo{
  font-weight:800;
  font-size:18px;
  color:var(--oab-texto);
  text-decoration:none;
}
.oab-hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:36px;
  height:36px;
  border:none;
  background:transparent;
  cursor:pointer;
  padding:0;
}
.oab-hamburger span{
  display:block;
  width:22px;
  height:2px;
  background-color:var(--oab-texto);
  border-radius:2px;
}

/* ===== Layout geral: barra lateral + conteúdo ===== */
.oab-layout{
  display:flex;
  align-items:flex-start;
  gap:0;
  max-width:1200px;
  margin:0 auto;
}
.oab-content{
  flex:1;
  min-width:0;
  padding:0 24px;
  box-sizing:border-box;
}

/* ===== Barra lateral (menu principal) ===== */
.oab-sidebar{
  flex:0 0 230px;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:20px 14px;
  position:sticky;
  top:65px; /* fica logo abaixo do cabeçalho fixo */
  align-self:flex-start;
  max-height:calc(100vh - 65px);
  overflow-y:auto;
}
.oab-sidebar-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:10px;
  color:var(--oab-texto);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  border:1px solid transparent;
}
.oab-sidebar-item:hover{
  background-color:var(--oab-fundo-claro);
  border-color:var(--oab-borda);
}
.oab-sidebar-icon{
  font-size:16px;
  line-height:1;
  flex-shrink:0;
}

/* ===== Badge de ofensiva (streak) ===== */
.oab-streak-mini{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 14px 14px;
  background:linear-gradient(135deg,#ff9142,#ff3d3d);
  border-radius:12px;
  padding:10px 14px;
  color:#ffffff;
  font-size:13px;
  font-weight:700;
}
.oab-streak-mini.oab-streak-ativa{
  animation:oab-streak-pulse 2.6s ease-in-out infinite;
}
@keyframes oab-streak-pulse{
  0%,100%{ box-shadow:0 3px 10px rgba(255,61,61,.3); }
  50%{ box-shadow:0 3px 20px rgba(255,61,61,.6); }
}
.oab-streak-fire{
  font-size:20px;
}
#oab-streak-numero{
  font-size:16px;
}

/* ===== Área de comentários (visual consistente em qualquer post) ===== */
.wp-block-comments{
  margin-top:40px !important;
  padding-top:24px;
  border-top:1px solid var(--oab-borda);
}
.wp-block-comments h2,
.wp-block-comments .wp-block-heading{
  font-size:19px !important;
}
.wp-block-comments-query-loop .wp-block-group{
  background-color:var(--oab-fundo-claro);
  border:1px solid var(--oab-borda);
  border-radius:10px;
  padding:14px 16px;
}
.wp-block-comment-template .wp-block-avatar img{
  border-radius:50%;
}
.wp-block-comments textarea,
.wp-block-comments input[type="text"],
.wp-block-comments input[type="email"],
.wp-block-comments input[type="url"]{
  border:1px solid var(--oab-borda);
  border-radius:8px;
  padding:10px 12px;
  font-family:inherit;
}
.wp-block-comments button,
.wp-block-comments input[type="submit"]{
  background-color:var(--oab-azul);
  color:#ffffff;
  border:none;
  font-weight:700;
  padding:10px 20px;
  border-radius:20px;
  cursor:pointer;
}

/* ===== Responsivo (celular): menu vira gaveta lateral ===== */
@media (max-width:820px){
  .oab-hamburger{
    display:flex;
  }
  .oab-layout{
    flex-direction:column;
  }
  .oab-sidebar{
    position:fixed;
    top:0;
    left:0;
    height:100vh;
    width:260px;
    max-height:none;
    background-color:#ffffff;
    border-right:1px solid var(--oab-borda);
    padding-top:76px; /* espaço para não ficar embaixo do cabeçalho */
    transform:translateX(-100%);
    transition:transform .25s ease;
    z-index:150;
    box-shadow:2px 0 14px rgba(0,0,0,.12);
  }
  body.oab-sidebar-aberta .oab-sidebar{
    transform:translateX(0);
  }
  .oab-content{
    padding:0 16px;
  }

  /* Fundo escurecido atrás do menu quando aberto no celular */
  body.oab-sidebar-aberta::after{
    content:'';
    position:fixed;
    inset:0;
    background-color:rgba(0,0,0,.4);
    z-index:140;
  }
}

/* ===== Links no geral, usando a cor de destaque azul ===== */
.oab-content a:not(.oab-sidebar-item){
  color:var(--oab-azul);
}
