/*
Theme Name: Astra Child
Theme URI: https://example.com/
Description: Tema hijo personalizado basado en Astra
Author: Samuel Cancinos
Author URI: https://example.com/
Template: astra
Version: 1.0.0
Text Domain: astra-child
*/


/* IMPORTANTE: si tu tema padre no es twentytwentyfour cambia Template: al folder slug del tema padre */

@import url("../twentytwentyfour/style.css"); /* opcional si el tema padre lo requiere */

/* ---------- Estilos personalizados ---------- */

:root{
  --bg-1: #0b0f14;
  --bg-2: #071021;
  --neon-cyan: #00e0ff;
  --neon-mag: #ff39d6;
  --glass: rgba(255,255,255,0.04);
  --card-bg: linear-gradient(135deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  --accent: #7affc6;
  --max-w: 1200px;
  --radius: 14px;
}

/* Global reset for the page template */
body.page-template-page-haters {
  background: radial-gradient(circle at 10% 10%, rgba(0,224,255,0.03), transparent 8%),
              radial-gradient(circle at 90% 90%, rgba(255,57,214,0.03), transparent 8%),
              linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 100%);
  color: #e6f3f7;
  font-family: Inter, "Segoe UI", Roboto, -apple-system, "Helvetica Neue", Arial;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 0;
  margin: 0;
}

/* container */
.haters-wrap {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 48px 20px;
}

/* Header / hero */
.haters-hero{
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 28px;
  align-items:center;
  margin-bottom:40px;
}
.haters-brand {
  display:flex;
  gap:16px;
  align-items:center;
  margin-bottom:6px;
}
.haters-logo {
  width:64px;height:64px;border-radius:12px;
  background: linear-gradient(135deg,var(--neon-cyan), var(--neon-mag));
  display:flex; align-items:center; justify-content:center;
  font-weight:800;color:#041018;
  box-shadow:0 8px 30px rgba(0,0,0,0.6), 0 0 18px rgba(0,224,255,0.06);
}
.haters-title{
  font-size:36px;
  line-height:1.02;
  font-weight:800;
  text-shadow:0 6px 30px rgba(0,0,0,0.6);
}
.haters-sub{
  margin-top:12px;color: #bfeff6; max-width:620px;
  font-size:15px;
}

/* card glass */
.haters-card {
  background: var(--card-bg);
  border-radius: var(--radius);
  padding:18px;
  box-shadow: 0 8px 40px rgba(2,6,12,0.6), inset 0 1px 0 rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.04);
}

/* image hero */
.haters-hero-media img{ width:100%; border-radius:12px; display:block; box-shadow:0 20px 60px rgba(0,0,0,0.7); }

/* Sections */
.haters-section{ margin-top:28px; display:block; }
.haters-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap:18px; align-items:start; }
@media (max-width: 880px){ .haters-grid{ grid-template-columns:1fr; } .haters-hero{ grid-template-columns: 1fr; } }

/* Characters */
.character{
  display:flex; gap:12px; align-items:center;
  padding:14px; border-radius:12px; transition:transform .18s ease;
  border:1px solid rgba(255,255,255,0.03);
}
.character:hover{ transform: translateY(-6px); box-shadow:0 20px 40px rgba(0,0,0,0.6); }
.character img{ width:120px;height:80px; object-fit:cover; border-radius:8px; }

/* neon tags */
.tag{
  display:inline-block; padding:6px 10px; border-radius:999px; font-size:12px;
  background: linear-gradient(90deg, rgba(0,224,255,0.08), rgba(255,57,214,0.08));
  color:var(--accent);
  border: 1px solid rgba(255,255,255,0.03);
}

/* Levels progress */
.level-row{ display:flex; align-items:center; gap:12px; padding:12px; border-radius:10px; background:rgba(255,255,255,0.02); }
.progress { width:70%; height:10px; background: rgba(255,255,255,0.05); border-radius:999px; overflow:hidden; }
.progress > span { display:block; height:100%; background: linear-gradient(90deg, var(--neon-cyan), var(--neon-mag)); border-radius:999px; }

/* Shop grid */
.shop-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:14px; }
@media (max-width:1100px){ .shop-grid{ grid-template-columns: repeat(2,1fr); } }
.shop-item{ padding:12px; border-radius:12px; background:rgba(255,255,255,0.02); display:flex; flex-direction:column; gap:10px; }
.shop-item .price{ margin-top:auto; display:flex; justify-content:space-between; align-items:center; }

/* Footer */
.haters-footer{ text-align:center; margin-top:36px; color:#97dfe6; font-size:13px; opacity:0.9; }

/* small effects */
.glow {
  position:relative;
}
.glow::after{
  content:"";
  position:absolute; inset:-8px; z-index:-1; filter: blur(36px); opacity:0.12;
  background: linear-gradient(90deg, var(--neon-cyan), var(--neon-mag));
  border-radius:18px;
}
