/*
Theme Name: Alliance for Daily Justice
Description: Tema personalizado para Alliance for Daily Justice - Alianza para la Justicia Cotidiana
Version: 1.0
Author: Alliance for Daily Justice
Text Domain: afdj
*/

:root{
  --bg:#ffffff;
  --text:#0b1221;
  --muted:#6b7280;
  --brand:#0b0f3a;
  --brand-2:#f4f5ff;
  --border:#dfe3ea;
  --nav-height:74px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; color:var(--text); background:var(--bg);
  font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;
  line-height:1.55;
}
img{max-width:100%; height:auto; display:block}
a{text-decoration:none; color:var(--text)}

/* Layout base */
.container{max-width:1280px; margin:0 auto; padding:0 28px}

/* Header / Nav */
.topbar{position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--border)}
.nav{height:var(--nav-height); display:flex; align-items:center; justify-content:center}
.hamburger{display:none; border:1px solid var(--border); border-radius:10px; padding:8px 10px; background:#fff; position:absolute; left:28px; cursor:pointer;}
.menu{
  display:flex; gap:40px; align-items:center; flex-wrap:wrap;
  font-family:"Barlow Condensed",system-ui,sans-serif;
  list-style: none;
  margin: 0;
  padding: 0;
}
.menu li {
  margin: 0;
}
.menu a{
  font-size:20px; letter-spacing:.18em; text-transform:uppercase;
  font-weight:600; padding-bottom:14px; position:relative; color:#0b1221;
}
.menu a.active::after,
.menu .current-menu-item a::after{
  content:""; position:absolute; left:0; right:0; bottom:6px;
  height:2px; background:#0b1221; border-radius:1px;
}

/* Dropdown "Más" */
.menu-item-has-children{position:relative}
.more-btn{display:flex; align-items:center; gap:6px}
.sub-menu{
  position:absolute; right:0; top:calc(100% + 12px); min-width:260px;
  background:#fff; border:1px solid var(--border); border-radius:10px;
  padding:8px; box-shadow:0 10px 30px rgba(0,0,0,.08); display:none;
  list-style: none;
  margin: 0;
}
.sub-menu a{display:block; padding:10px 12px; font-size:16px; letter-spacing:.06em}
.sub-menu a:hover{background:#eef1fb}

/* Mobile */
@media (max-width:1080px){
  .nav{justify-content:space-between}
  .hamburger{display:block}
  .menu{
    display:none; position:absolute; left:0; right:0; top:var(--nav-height);
    background:#fff; border-bottom:1px solid var(--border);
    padding:16px 24px; flex-direction:column; gap:12px
  }
  .menu.open{display:flex}
  .menu a{font-size:18px; letter-spacing:.16em; padding-bottom:10px}
  .menu a.active::after,
  .menu .current-menu-item a::after{bottom:2px}
  .menu-item-has-children .sub-menu{
    position: static;
    box-shadow: none;
    border: none;
    padding-left: 20px;
  }
}

/* Título estilo original */
.title-wrap{display:flex; justify-content:center; margin:18px 0 6px}
.title-box{
  display:inline-block; padding:12px 20px; border:2px solid #cfd6df;
  border-radius:4px; background:#fff; text-align:center;
}
.title-line, .title-sub{
  display:block; font-family:"Bebas Neue",sans-serif; color:#111827;
  line-height:1.02; letter-spacing:.01em; padding:4px 10px 2px;
  background:linear-gradient(#e6e9ef,#e6e9ef) no-repeat;
  background-size:100% 58%; background-position:0 62%;
}
.title-line{font-size:34px}
.title-sub{font-size:30px; margin-top:4px}

/* Hero */
.hero{padding:18px 0 56px}
.grid{display:grid; grid-template-columns:1.15fr 1fr; gap:28px; align-items:center}
.panel{
  background:var(--brand-2); border:1px solid #e8ebf3;
  border-radius:14px; padding:28px; height:100%
}
.welcome{color:#16203b; letter-spacing:.32em; font-size:13px; margin-bottom:14px; font-weight:600}
h1.hero-title{margin:0 0 14px; font-family:"Bebas Neue",sans-serif; font-size:36px; letter-spacing:.01em}
.cta{display:inline-block; background:#0d1250; color:#fff; font-weight:800; letter-spacing:.28em; padding:12px 22px; border-radius:6px}
.cta:hover{filter:brightness(.95)}
.grid img{border-radius:14px; border:1px solid var(--border)}

@media (max-width:900px){
  .grid{grid-template-columns:1fr;}
  .panel{order:2}
  .title-line{font-size:30px}
  .title-sub{font-size:27px}
}

/* Footer */
footer{border-top:1px solid var(--border); margin-top:60px; padding:26px 0; font-size:14px; color:var(--muted)}

/* Ajuste para que el título quede centrado arriba del menú */
.topbar { 
  border-bottom:none;
  padding-top:20px;
}
.title-wrap {
  margin-bottom:10px;
}
.nav {
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:8px 0;
}

/* Entradas de blog */
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-family: "Bebas Neue", sans-serif;
  letter-spacing: .01em;
}