/* ===================== VAMPIRES 2.0 — RULES PAGE ===================== */
:root{
  --blood: #b10505;
  --blood-dark: #6d0202;
  --ink: #eaeaea;
  --muted: #a8b0bb;
  --panel: #141418;
  --panel-soft: #181b20;
  --stroke: rgba(255,255,255,.10);
  --stroke-2: rgba(255,255,255,.18);
  --bg: #0e0f12;
}

*{ box-sizing: border-box; }

.rules-body{
  margin:0;
  color:var(--ink);
  background: var(--bg);
  font-family:"Cinzel", ui-serif, Georgia, serif;
}

/* Containers */
.rules-wrap{
  width:min(1100px, 94vw);
  margin-inline:auto;
  padding-inline: 16px;
}

/* Header */
.rules-header{
  padding: 28px 0 18px;
  border-bottom: 1px solid var(--stroke);
  background: #101216;
  box-shadow: 0 6px 28px rgba(0,0,0,.45);
}
.rules-title{
  margin: 0 0 2px;
  font-family:"UnifrakturMaguntia","Cinzel",serif;
  font-size: clamp(30px, 5vw, 44px);
  color:#fff;
  text-shadow:0 0 8px rgba(177,5,5,.5);
}
.rules-sub{ margin:0; color:#e6c6c6; }
.rules-date{ margin:.4rem 0 0; color:var(--muted); font-size:.95rem; }
.rules-back{
  display:inline-block;
  margin-bottom:6px;
  color:#e6c6c6;
  text-decoration:none;
  border-bottom:1px dashed rgba(177,5,5,.55);
}
.rules-back:hover{ color:#ffe7e7; text-shadow:0 0 6px rgba(177,5,5,.55); }

/* Main */
.rules-main{ padding: 22px 0 28px; }

/* TOC */
.rules-toc{
  border:1px solid var(--stroke);
  background: var(--panel);
  border-radius:14px;
  padding:14px 16px;
  margin: 0 0 18px;
  box-shadow:0 12px 30px rgba(0,0,0,.35);
}
.rules-toc h2{
  margin:0 0 8px;
  font-size:1.1rem;
  color:#ffe7e7;
  letter-spacing:.3px;
}
.rules-toc ol{
  margin:0; padding-left: 1.2rem;
}
.rules-toc a{
  color:#e6c6c6; text-decoration:none; border-bottom:1px dashed rgba(177,5,5,.45);
}
.rules-toc a:hover{ color:#fff; text-shadow:0 0 6px rgba(177,5,5,.55); }

/* Blocchi regole */
.rule-block{
  border:1px solid var(--stroke);
  background: linear-gradient(180deg, #161a20, #12151a);
  border-radius:14px;
  padding:18px 18px 16px;
  margin: 14px 0;
  box-shadow: 0 14px 36px rgba(0,0,0,.40);
}
.rule-block h3{
  margin:0 0 8px;
  font-size:1.2rem;
  color:#ffe7e7;
  letter-spacing:.2px;
}
.rule-block p{ margin:.25rem 0 .6rem; color:#d9dde3; }
.rule-block ul{ margin:.2rem 0 .2rem 1.1rem; }
.rule-block li{ margin:.25rem 0; }

/* CTA */
.rules-cta{
  margin-top: 18px;
  display:flex;
  justify-content:center;
}
.btn-ghost{
  display:inline-block;
  padding:12px 18px;
  border-radius:12px;
  border:1px solid rgba(177,5,5,.65);
  background: linear-gradient(180deg, var(--blood) 0%, var(--blood-dark) 100%);
  color:#fff;
  text-decoration:none;
  letter-spacing:.3px;
  box-shadow:0 12px 28px rgba(177,5,5,.28);
  transition:filter .15s ease, transform .06s ease, box-shadow .18s ease;
}
.btn-ghost:hover{ filter:brightness(1.06); box-shadow:0 14px 34px rgba(177,5,5,.36); }
.btn-ghost:active{ transform: translateY(1px); }

/* Footer */
.rules-footer{
  border-top: 1px solid var(--stroke);
  padding: 16px 0 22px;
  color: var(--muted);
  background:#101216;
  text-align:center;
}
