/* ==========================================================================
   rules.css
   ========================================================================== */

.rules-list { max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--space-sm); }

.rule-item { overflow: hidden; }

.rule-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-md);
  cursor: pointer;
}

.rule-header h3 { font-size: var(--fs-md); display: flex; align-items: center; gap: 12px; }

.rule-num {
  width: 32px; height: 32px;
  flex-shrink: 0;
  border-radius: var(--radius-full);
  background: var(--grad-gold);
  color: var(--text-on-gold);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-heading);
  font-size: var(--fs-sm);
}

.rule-arrow { flex-shrink: 0; transition: transform var(--transition-fast); color: var(--teal-light); }
.rule-item.open .rule-arrow { transform: rotate(180deg); }

.rule-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--transition-medium);
  padding: 0 var(--space-md);
}
.rule-item.open .rule-body { padding-bottom: var(--space-md); }

.rule-body ul { display: flex; flex-direction: column; gap: 10px; }
.rule-body li { color: var(--text-secondary); font-size: var(--fs-sm); line-height: 1.9; padding-right: var(--space-sm); position: relative; }
.rule-body li::before { content: "—"; position: absolute; right: 0; color: var(--gold-light); }
.rule-body p { color: var(--text-secondary); font-size: var(--fs-sm); line-height: 1.9; }

.rules-intro {
  max-width: 900px;
  margin: 0 auto var(--space-lg);
  text-align: center;
  color: var(--text-secondary);
  font-size: var(--fs-md);
  line-height: 2;
}