
/*
Theme Name: RPG Realms
Theme URI: https://example.com/rpg-realms
Author: GeekFrog DEV & ChatGPT
Author URI: https://example.com
Description: Tema WordPress com estética RPG - tipografia medieval, cards para posts, CPT "Quests" e taxonomia "Factions". Responsivo e pronto para produção.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rpg-realms
Tags: blog, rpg, game, dark, responsive, custom-colors
*/

/* Reset/normalize simples */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family: 'Cinzel', serif; line-height:1.6; color:#e7e4dc; background:#0f0f10}
a{color:var(--accent,#a28b5e); text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; height:auto; display:block}

/* Layout */
.container{width:min(1100px, 92%); margin:0 auto}
.site-header{background:linear-gradient(180deg,#171719,#101013); border-bottom:1px solid #2a2a2e; position:sticky; top:0; z-index:50}
.branding{display:flex; align-items:center; gap:14px; padding:14px 0}
.site-title{font-size:1.6rem; letter-spacing:.5px}
.site-description{opacity:.8; font-size:.9rem}

.nav{display:flex; gap:18px; flex-wrap:wrap}
.nav a{padding:10px 8px; border-radius:8px}
.nav a:hover{background:#1d1d21}

.header-inner{display:flex; align-items:center; justify-content:space-between; padding:8px 0}
.menu-toggle{display:none; background:transparent; border:1px solid #2a2a2e; padding:8px 10px; border-radius:10px; color:#e7e4dc}

.hero{background:url('./assets/images/hero-texture.png') center/cover, radial-gradient(1200px 600px at 50% -10%, #1b1b1f, #0f0f10); padding:56px 0 28px; border-bottom:1px solid #2a2a2e}
.hero h1{font-size:2.2rem; margin-bottom:8px}
.hero p{opacity:.9}

.grid{display:grid; gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}

.card{background:linear-gradient(180deg,#151517,#101013); border:1px solid #29292e; border-radius:16px; overflow:hidden; box-shadow:0 6px 20px rgba(0,0,0,.35)}
.card .content{padding:16px}
.card h2{font-size:1.2rem; margin:6px 0 8px}
.meta{font-size:.85rem; opacity:.8}

/* Sidebar & Footer */
.sidebar{position:sticky; top:80px}
.widget{background:#141418; border:1px solid #2a2a2e; border-radius:14px; padding:14px; margin-bottom:16px}
.widget-title{font-size:1.05rem; margin-bottom:10px}

.site-footer{margin-top:44px; padding:30px 0; border-top:1px solid #29292e; background:#0e0e10; font-size:.95rem}

/* Forms & Buttons */
button, .button, input[type=submit]{background:var(--accent,#a28b5e); color:#0f0f10; border:none; padding:10px 14px; border-radius:10px; cursor:pointer; font-weight:700}
button:hover, .button:hover{filter:brightness(1.05)}
input, textarea{width:100%; padding:10px 12px; border-radius:10px; background:#121216; border:1px solid #2b2b31; color:#e7e4dc}

/* Comments */
.comment-list{list-style:none; margin-top:18px}
.comment{border-bottom:1px dashed #2a2a2e; padding:10px 0}
.comment-author{font-weight:700}

/* Responsive */
@media (max-width: 900px){
  .grid-3{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .grid-3, .grid-2{grid-template-columns:1fr}
  .menu-toggle{display:block}
  .nav{display:none; width:100%; margin-top:10px}
  .nav.open{display:flex; flex-direction:column}
}

/* Correção de responsividade para InfoBox Spectra */
.uagb-infobox {
  width: 100% !important;
  max-width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 16px;
}

.uagb-infobox .uagb-ifb-icon {
  display: block;
  margin: 0 auto 12px;
}

.uagb-infobox .uagb-ifb-content {
  text-align: center;
  padding: 0 12px;
}

.uagb-infobox .uagb-ifb-title {
  font-size: 1.3rem;
  margin-bottom: 8px;
}

.uagb-infobox .uagb-ifb-desc {
  font-size: 1rem;
  line-height: 1.5;
}

/* Mobile ajustes */
@media (max-width: 768px) {
  .uagb-infobox {
    padding: 12px;
  }

  .uagb-infobox .uagb-ifb-title {
    font-size: 1.2rem;
  }

  .uagb-infobox .uagb-ifb-desc {
    font-size: 0.95rem;
  }
}

.grid .uagb-infobox {
  grid-column: span 3;
}
@media (max-width: 900px) {
  .grid .uagb-infobox {
    grid-column: span 2;
  }
}
@media (max-width: 640px) {
  .grid .uagb-infobox {
    grid-column: span 1;
  }
}
/* Protege a estrutura interna do InfoBox Spectra */
.uagb-infobox {
  box-sizing: border-box;
  padding: 16px;
  background: transparent;
  color: inherit;
  font-family: inherit;
}

.uagb-infobox .uagb-ifb-icon {
  display: block;
  margin: 0 auto 12px;
  max-width: 80px;
}

.uagb-infobox .uagb-ifb-title {
  font-size: 1.3rem;
  margin-bottom: 8px;
  font-family: 'Cinzel', serif;
  color: #e7e4dc;
}

.uagb-infobox .uagb-ifb-desc {
  font-size: 1rem;
  line-height: 1.5;
  font-family: 'Cinzel', serif;
  color: #cfcac0;
}

.uagb-infobox .uagb-ifb-content {
  text-align: center;
  padding: 0 12px;
}

/* Mobile ajustes */
@media (max-width: 768px) {
  .uagb-infobox {
    padding: 12px;
  }

  .uagb-infobox .uagb-ifb-title {
    font-size: 1.2rem;
  }

  .uagb-infobox .uagb-ifb-desc {
    font-size: 0.95rem;
  }
}
